渗透测试-靶机DC-1-知识点总结

简介: 渗透测试-靶机DC-1-知识点总结

靶机DC-1-知识点总结
一、前言
二、实验环境
三、渗透测试工具

  1. arp-scan
    (1)地址解析协议(ARP)简介
    (2)arp-scan简介
    (3)arp-scan常见用法
    <1> arp-scan -l (扫描本网段的其他主机)
    <2> arp-scan -I eth0 -l(指定具体网卡-比如eth0-扫描该网卡对应的网段)
  2. nmap
    (1)nmap简介
    (2)nmap常见用法
    <1> nmap 扫描指定网段
    ① -sn—不扫描端口,只扫描是否存活
    ② -iL 文件名—扫描一个文件中记录的所有ip
    ③ -exclude—扫描指定网段中除了指定主机的所有ip
    ④ -excludefile—扫描指定网段中除了指定文件中包含的ip外的所有ip
    <2> nmap 扫描指定主机
    ① --traceroute—扫描指定ip,并进行路由追踪
    ② -p—扫描指定端口
    ③ -p- —扫描目标机所有端口
    ④ -sF—以FIN方式扫描
    ⑤ -sV—获取端口服务详细信息
    ⑥ -O—获取目标机操作系统信息
  3. whatweb
    (1)whatweb简介
    (2)whatweb用法
  4. metasploit
    (1)metasploit简介
    (2)metasploit用法
    <1> 打开metasploit
    <2> 查找指定web框架涉及到的漏洞
    <3> 针对具体漏洞选择利用模块
    <4> 配置模块所需的信息
    <5> 执行漏洞利用模块,获取shell
    四、渗透测试技巧
  5. 交互式shell——python方式
  6. find提权
    五、总结
    一、前言
    本次渗透测试具体流程详见Neos的渗透测试靶机练习——DC-1。
    这篇文章将介绍本次渗透测试所用到的工具的常见用法和渗透测试的常用技巧,若有欠缺,还望海涵,并请在评论区指出,不胜感激。

二、实验环境
虚拟机软件:VirtualBox
下载界面:https://www.virtualbox.org/wiki/Downloads
攻击机:kali linux(网卡初始为仅主机模式,要有安全意识)
下载界面:https://www.kali.org/get-kali/#kali-platforms
靶机:DC-1(网卡初始为仅主机模式,要有安全意识)
下载界面:https://vulnhub.com/entry/dc-1,292/
1
2
3
4
5
6
三、渗透测试工具

  1. arp-scan
    (1)地址解析协议(ARP)简介
    ARP协议的功能是根据ip地址获取mac地址,源主机将ARP请求广播到本网段的所有主机。若本网段存在符合请求的主机 ,则向源主机 单播 ARP应答;若本网段没有主机符合请求,则通过网关(一般是路由器)转发到其他网段的主机,反复执行,最终获得目标主机的mac地址。

(2)arp-scan简介
arp-scan是kali linux中的一款网络扫描工具,通常情况下,渗透测试中当攻击机与靶机在同一网段时,可以扫描出本网段的所有主机ip地址与对应的mac地址的映射表,主要还是用于查找目标主机的ip地址。

(3)arp-scan常见用法
用之前,首先需要切换到root权限。

然后确认本机IP地址,可以看到这里网卡eth0对应的本机ip地址为192.168.56.101,子网掩码为255.255.255.0,故网络地址为192.168.56.0。这些信息亦用于后面其他工具介绍。

下面介绍两个命令,虽然还有其他功能,但基本上用不到,大家感兴趣的可以自行去了解。

<1> arp-scan -l (扫描本网段的其他主机)
其中参数**-l是localnet的意思。

看到其中本网段192.168.56.0中除了本机外其他机器的ip地址,一般通过这条命令就可以确认靶机的ip地址**了。

<2> arp-scan -I eth0 -l(指定具体网卡-比如eth0-扫描该网卡对应的网段)
其中第一个参数-I是大写的i,即interface的意思,后面是l,小写的l,localnet的意思。

可以看到,扫描出来了网卡eth0对应网段的其他主机的ip和mac信息。

  1. nmap
    (1)nmap简介
    nmap是一款十分强大的主机和端口扫描工具,渗透测试中主要用来扫描目标网段的存活主机和具体主机的端口开放信息,熟练使用nmap是初学者(脚本小子)们的必备技能。

(2)nmap常见用法
实际操作时参数可根据自己的需要组合使用。

<1> nmap 扫描指定网段
① -sn—不扫描端口,只扫描是否存活
由于目的是扫描指定网段中的存活主机,故不需要扫描其端口信息,使用 -sn不扫描端口,只扫描是否存活,速度更快。

192.168.56.0/24也可写为192.168.56.1-254,

② -iL 文件名—扫描一个文件中记录的所有ip
比如这里有一个test.txt文件里面有若干ip地址。

我们结合上面的-sn参数,输入nmap -sn -iL test.txt,扫描test.txt文件中存活的ip地址。

③ -exclude—扫描指定网段中除了指定主机的所有ip
结合上面的命令,我们输入nmap -sn -iL test.txt -exclude 192.168.56.102,

可以看到,扫描了test.txt文件中除了192.168.56.102这个ip的所有主机。

④ -excludefile—扫描指定网段中除了指定文件中包含的ip外的所有ip
我们输入nmap -sn 192.168.56.0/24 -excludefile test.txt,

可以看到,扫描出一台存活的主机也没有,因为test.txt中已经提前包含了这个网段中所有的存活主机ip,将这些ip地址都排除不扫,那么扫描出来当然不会有任何一台存活主机了。

<2> nmap 扫描指定主机
当然可以什么参数也不加直接nmap 192.168.56.102,只不过扫描的信息不一定全面。
亦可以扫描多个指定的ip,比如nmap 192.168.56.101 192.168.56.102。

① --traceroute—扫描指定ip,并进行路由追踪

可以看到,扫描指定ip的基础上多了路由追踪信息,当中有跳数HOP,生存时间RTT,和ip地址,个人搭建靶机练习的时候用不到,现实环境中可能会用到。

② -p—扫描指定端口

可以看到,我们指定了80端口,扫描出来目标机的80端口open,对应的服务为http。

③ -p- —扫描目标机所有端口
不加-p-的话只会扫描1024以内的端口,有的时候需要我们扫描目标主机的65535内的所有端口。

比如这里,不加-p-是不会扫出来40605端口的。

④ -sF—以FIN方式扫描
nmap默认是以TCP方式扫描的,有的时候防火墙会过滤掉其中的SYN数据包,故此时可以通过发送FIN标志的数据包进行扫描。

⑤ -sV—获取端口服务详细信息
有时我们需要知道端口对应的服务版本是多少,这时可以添加-sV参数。

这里可以看到对应的服务版本信息。

⑥ -O—获取目标机操作系统信息
有时我们需要知道目标机的操作系统版本是多少,这时可以添加-O参数。

这里可以看到Linux的版本信息。

  1. whatweb
    (1)whatweb简介
    whatweb 是kali中的一个非常强大的网站指纹识别工具,可识别内容管理系统(CMS)、博客平台、统计/分析包、JavaScript库,Web服务器和嵌入式设备等,还可以识别操作系统版本号,电子邮件地址、账户、中间件模块,SQL错误等。

(2)whatweb用法
大多数情况下直接whatweb http://neos.com(或ip:端口),也可以根据需要自行了解加一些参数(不了解也行)。

可以看到,已经很全面的显示了网站指纹信息。

  1. metasploit
    (1)metasploit简介
    Metasploit Framework(MSF)是一款漏洞检测和利用的工具,自带大量的已知的软件漏洞及其利用方法。Metasploit可以用于渗透测试的整个流程。

(2)metasploit用法
metasploit功能太丰富了,篇幅有限,这里只介绍本次渗透所涉及到的一些简单用法,其余功能日后在其他知识点总结中逐步介绍。

<1> 打开metasploit
kali中直接输入msfconsole即可打开。

<2> 查找指定web框架涉及到的漏洞
输入search Drupal,本次渗透的web框架名称为Drupal。

可以看到,Drupal历年来所被发现的漏洞。

<3> 针对具体漏洞选择利用模块
针对Description中具体漏洞的描述,使用对应的漏洞利用模块。

<4> 配置模块所需的信息
show options查看该模块所需的主机信息并设置。

一般都要将RHOSTS(目标机IP)和LHOST(本地IP)还有LPORT(本地监听端口)设置好。

<5> 执行漏洞利用模块,获取shell
直接输入run或者exploit运行漏洞利用模块。

可以看到这里成功利用漏洞,获得shell。

四、渗透测试技巧

  1. 交互式shell——python方式
    get shell后,经常会发现界面不稳定,难以操作,即没有上下文环境,这时就需要通过一些方式切换为交互式shell,方便进一步操作。
    如果存在python环境,则可以输入python -m 'import pty; pty.spawn("/bin/bash")'来实现交互式shell。
  1. find提权
    一般用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必须以分号结束,故这里用于分号;。

五、总结
篇幅有限,只介绍了部分知识点,还有大量的内容没有涉及到,我们将在后续的渗透测试知识点总结中逐步完善知识体系,安全之路需要大家一步一个脚印,砥砺前行。
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/qq_38678845/article/details/135492012

目录
相关文章
|
1月前
|
安全 Linux 网络安全
Neos的渗透测试靶机练习——DC-3
Neos的渗透测试靶机练习——DC-3
29 4
|
1月前
|
安全 Shell 网络安全
Neos的渗透测试靶机练习——DC-1
Neos的渗透测试靶机练习——DC-1
32 4
|
1月前
|
Devops Shell 网络安全
Neos的渗透测试靶机练习——Wakanda
Neos的渗透测试靶机练习——Wakanda
18 2
|
1月前
|
安全 Shell 网络安全
DC-2靶机上了解和练习WordPress框架
本文介绍了在一个名为DC2的虚拟环境中进行渗透测试的过程。首先通过扫描发现SSH和Web端口,并进行全端口扫描以寻找隐藏端口。接着通过信息收集、漏洞利用(如SQL注入、文件上传漏洞等)、反弹Shell及提权等步骤逐步攻陷目标系统。文章详细描述了使用Cewl生成字典、Dirsearch扫描目录、Wpscan枚举WordPress用户等技巧,并最终通过SSH登录和Git命令实现了提权,获取多个flag。
|
4天前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
29 3
|
1月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
56 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
2月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
230 7
Jmeter实现WebSocket协议的接口测试方法
|
2月前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
242 3
快速上手|HTTP 接口功能自动化测试
|
1月前
|
JavaScript 前端开发 API
vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
39 0
|
2月前
|
JavaScript 前端开发 测试技术
ChatGPT与接口测试
ChatGPT与接口测试,测试通过
47 5

热门文章

最新文章