靶机DC-2-知识点总结
- 一、前言
- 二、实验环境
- 三、渗透测试工具
- 1. cewl
- (1)cewl简介
- (2)cewl常见用法
- 2. wpscan
- (1)wpscan简介
- (2)wpscan常见用法
- <1>直接扫描
- <2>-e u爆破用户名
- <3>-U、-P爆破账户密码
- 3. dirb
- (1)dirb简介
- (2)dirb常见用法
- 四、渗透测试技巧
- 1. rbash逃逸
- 2. git提权
- 五、总结
一、前言
本次渗透测试具体流程详见Neos的渗透测试靶机练习——DC-2。
这篇文章将介绍本次渗透测试所用到的工具的常见用法和渗透测试的常用技巧,其中一部分工具在渗透测试-靶机DC-2-知识点总结中已经介绍过,若有欠缺,还望海涵,并请在评论区指出,不胜感激。
二、实验环境
虚拟机软件:VirtualBox
下载界面:https://www.virtualbox.org/wiki/Downloads
攻击机:kali linux(网卡初始为仅主机模式,要有安全意识)
下载界面:https://www.kali.org/get-kali/#kali-platforms
靶机:DC-2(网卡初始为仅主机模式,要有安全意识)
下载界面:https://www.vulnhub.com/entry/dc-2,311/
三、渗透测试工具
1. cewl
(1)cewl简介
Cewl是一款字典生成程序,可以扫描指定URL地址并进行一定的爬取,返回一个字典文件,文件中有爬取过程中包含的英文单词,可以把该字典文件用到密码破解工具中。
(2)cewl常见用法
一般都直接输入cewl http://dc-2 -w passwd.txt
,指定url(我这里是http://dc-2)和将结果输出为passwd.txt文件。
可以看到,有一长串内容,都是网页里的文字,知道这条命令其实就足够了。
2. wpscan
(1)wpscan简介
wpscan是针对中间件WordPress的安全扫描工具,一般用来扫描网站指纹信息、爆破用户名和密码。
(2)wpscan常见用法
由于wpscan功能强大,故只介绍本次渗透涉及到的命令,后续渗透测试若使用到新命令,则再补充。
<1>直接扫描
输入wpscan --url http://dc-2.com
,发现能扫描一些指纹信息,比如WordPress版本号,和web服务等。
<2>-e u爆破用户名
输入wpscan --url http://dc-2 -e u
,指定url(我这里是http://dc-2
),并用参数-e u
指明对user进行爆破。
可以看到爆破出来了几个用户名。
<3>-U、-P爆破账户密码
把这三个用户名写入一个user.txt文件中,并结合之前一个工具cewl生成的字典passwd.txt,进行爆破。
输入wpscan --url http://dc-2 -U user.txt -P passwd.txt
,-U
指定账号本user.txt,-P
指定密码本passwd.txt,然后等待即可。
可以看到,成功爆破出来了jerry和tom的密码,不过admin的密码没有爆破出来。
3. dirb
DIRB是一个Web内容扫描程序。它查找现有的(和/或隐藏的)Web对象。它基本上是通过对Web服务器发起基于字典的攻击并分析响应来工作的。
它带有一组易于使用的预配置攻击词表,但您可以使用自定义词表。此外,DIRB有时可以用作经典的CGI扫描仪,但请记住是内容扫描仪,而不是漏洞扫描仪。
主要目的是帮助进行专业的Web应用程序审核。特别是在与安全性相关的测试中。它涵盖了经典Web漏洞扫描程序未涵盖的一些漏洞。DIRB寻找其他通用CGI扫描程序无法找到的特定Web对象。它既不搜索漏洞,也不搜索容易受到攻击的Web内容。
(1)dirb简介
wpscan是一款针对中间件WordPress的扫描工具,可以帮助网站管理员评估和增强其WordPress网站的安全性。本文将深入介绍如何使用WPScan扫描单个目标,并结合实际例子,帮助读者理解和应用该工具。
(2)dirb常见用法
一般都直接输入cewl http://dc-2 -w passwd.txt
,指定url(我这里是http://dc-2)和将结果输出为passwd.txt文件。
四、渗透测试技巧
1. rbash逃逸
get shell后,经常会发现界面不稳定,难以操作,即没有上下文环境,这时就需要通过一些方式切换为交互式shell,方便进一步操作。
如果存在python环境,则可以输入python -m 'import pty; pty.spawn("/bin/bash")'
来实现交互式shell。
2. git提权
一般用find / -perm -u=s -type f 2>/dev/null
,查找有suid属性权限的文件。
符号/
为当前目录;
-perm
为按指定权限执行find命令;
-u=s
为按suid权限查找文件;
-type
指定文件类型;
f
为普通文件;
2>/dev/null
中2
为文件描述符,指标准错误(stderr);>
为重定向符,指将结果定向到指定位置;/dev/null
是一个设备文件,任何数据被定向到这里都会被丢弃。
如果find命令有suid属性权限的话,则可以通过find blabla.txt -exec "/bin/sh" \;
来提权。
参数-exec
是find命令对指定文件(我这里是blabla.txt
)执行后接的shell命令(我这里是“/bin/sh”
);
\
为转义字符,由于-exec
必须以分号结束,故这里用于分号;
。
五、总结
篇幅有限,只介绍了部分知识点,还有大量的内容没有涉及到,我们将在后续的渗透测试知识点总结中逐步完善知识体系,安全之路需要大家一步一个脚印,砥砺前行。