分类 网络安全 下的文章

参考文章
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",执行提交

openssl.cnf.txt自建 CA 中心并签发 CA 证书
SAN(Subject Alternative Name) 是 SSL 标准 x509 中定义的一个扩展。使用了 SAN 字段的 SSL 证书,能够扩展此证书支持的域名,使得一个证书能够支持多个不一样域名的解析。
现在新版本的浏览器都要求证书中必须包含“Subject Alternative Names”这一参数,否则认为不是有效证书。

Step 1. 设定 OpenSSL CA 配置文件
查找到openssl.cnf,并将到配置文件复制到自己的主目录。
find / -name openssl.cnf
cp /etc/pki/tls/openssl.cnf ~/openssl.cnf

(1) 找到[ req ] 段落,添加如下配置:

  req_extetions = v3_req

(2) 添加v3_req配置信息

[ v3_req ]
# Extensions to add to a certificate request
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names

(3) 添加alt_names配置信息

[ alt_names ]
DNS.1 = www.dgq.com 

注:这里填入的即为Subject Alternative Names的域名名称

(4)涉及CA自签名

# 找到 v3_ca 节点
[ v3_ca ]
# x509命令的扩展
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid:always,issuer
basicConstraints = critical,CA:true
# 表示可选属性的扩展, 这一行就是我们加上的, 表示定义了一组可选项
subjectAltName = @alt_names

Step 2. 搭建 CA 中心
所谓 CA 中心,本质是一个文件夹,包括以下文件夹与文件:
文件夹:demoCA/certs,demoCA/newcerts,demoCA/private
文件: index.txt, serial

cd ~
mkdir -p demoCA/{certs,newcerts,private}
touch demoCA/index.txt
echo 01 > demoCA/serial

newcerts dir:存放 CA 签署(颁发)过的数字证书
private dir:存放 CA 的私钥
serial file:存放证书序列号,可自定义第一张证书的序号(e.g. 01),之后每新建一张证书,序列号会自动加 1。
index.txt file:存放证书信息

Step 3. 生成 CA 证书的 RSA 私钥

openssl genrsa -passout pass:123456 -des3 -out ~/demoCA/private/cakey.pem 2048

Step 4. 生成 CA 的根证书(公钥)

openssl req -x509 -passin pass:123456 -new -nodes -key ~/demoCA/private/cakey.pem -days 3650 -subj "/C=CN/ST=GD/L=GZ/O=GDEC/CN=GDEC_CA" -out ~/demoCA/cacert.pem \
-extensions SAN \
-config <(cat ~/openssl.cnf \
    <(printf "[SAN]\nsubjectAltName=DNS:ca.gdec.cn")) 

Step 5. 查看 CA 证书的内容

openssl x509 -in ~/demoCA/cacert.pem -text -noout

Step 6.使用 openssl 签署带有 SAN 扩展的证书请求

openssl req -new -sha256 \
    -keyout server.key \
    -subj "/C=CN/ST=GD/L=GZ/O=GDEC/OU=test/CN=www.test.com" \
    -reqexts SAN \
    -config <(cat ~/openssl.cnf \
        <(printf "[SAN]\nsubjectAltName=DNS:www.test.com")) \
    -out server.csr

查看请求文件
openssl req -in server.csr -text

Step 7. CA签署证书请求,生成带SAN扩展的证书

openssl ca  -out server.crt -config ~/openssl.cnf  -in server.csr \
    -extensions SAN \
-config <(cat ~/openssl.cnf \
    <(printf "[SAN]\nsubjectAltName=DNS:www.ustack.in,DNS:www.test.ustack.com")) \

查看生成的证书:
openssl x509 -text -noout -in server.crt

转为pfx证书文件,给windows或IIS使用
openssl pkcs12 -export -inkey server.key -in server.crt -out server.pfx

在指定的时间内收到过多失败的连接尝试后进入静默期(quiet period),而不再接受新的连接。
login block-for 120 attempts 3 within 60 如果在60s内密码验证错了3次登陆将被限制120s
login delay 3 若密码输入错误,则停顿3秒后才可以进行下一次输入
login on-failure log 产生错误登录日志
login on-success log 产生正确登录日志

让处于静默模式的路由器依照ACL允许登录尝试。如果没有配置该命令,在静默期内所有的登录尝试都会被拒绝。
login quiet-mode access-class {acl-name | acl-number}

cisco官方ASA 站点到站点IPsec VPN配置

ASA v9.14防火墙配置命令:

int g0/0
  ip add 202.100.1.254 255.255.255.0
  nameif outside
  no shut
int g0/1
  ip add 172.16.10.254 255.255.255.0
  nameif inside
  no shut
  exit

crypto ikev1 enable outside

crypto ikev1 policy 10
 authentication pre-share
 encryption aes
 hash sha
 group 2
 lifetime 86400
 exit

tunnel-group 137.78.10.1 type ipsec-l2l
tunnel-group 137.78.10.1 ipsec-attributes
 ikev1 pre-shared-key cisco
 exit

object network 172.16.10.0_24 
 subnet 172.16.10.0 255.255.255.0 
 exit
object network 172.16.30.0_24 
 subnet 172.16.30.0 255.255.255.0
 exit

access-list 100 extended permit ip object 172.16.10.0_24 object 172.16.30.0_24

crypto ipsec ikev1 transform-set myset esp-aes esp-sha-hmac

crypto map mymap 20 match address 100
crypto map mymap 20 set peer 137.78.10.1
crypto map mymap 20 set ikev1 transform-set myset
crypto map mymap 20 set pfs group2
crypto map mymap interface outside

route outside 0 0 202.100.1.1

fixup protocol icmp

 NAT豁免决定哪些流量不进行NAT转换,no-proxy-arp表示关闭ARP代理功能。
nat (inside,outside)  source static 172.16.10.0_24 172.16.10.0_24 destination static
 172.16.30.0_24 172.16.30.0_24 no-proxy-arp route-lookup

正常NAT配置
nat (inside,outside) source dynamic 172.16.10.0_24 interface 

注意:必须先NAT免流,再执行正常NAT配置


路由器配置命令:
int g0/0
  ip add 172.16.30.254 255.255.255.0
  no shut
int g0/1 
  ip add 137.78.10.1 255.255.255.0
  no shut
  exit

ip route 0.0.0.0 0.0.0.0 137.78.10.2 


crypto isakmp policy 1
  encryption aes
  group 2
  hash sha
  authentication pre-share
  exit

crypto isakmp key cisco address   202.100.1.254

crypto ipsec transform-set myset esp-aes esp-sha-hmac
 exit

access-list 100 permit ip 172.16.30.0 0.0.0.255 172.16.10.0 0.0.0.255
 
crypto map mymap 1 ipsec-isakmp
  set peer   202.100.1.254
  match address 100
  set transform-set myset
  set pfs group2
  exit

int g0/1
 crypto map mymap
 exit

同时实现NAT功能,注意将需要通过VPN的数据排除。
access-list 110 deny ip 172.16.30.0 0.0.0.255 172.16.10.0 0.0.0.255
access-list 110 permit ip 172.16.30.0 0.0.0.255 any
ip nat inside source list 110 interface g0/1 overload

总结排错思路:

阶段1的SA没有建立:
show crypto isakmp sa
接口是否应用了安全策略
是否有匹配的数据流触发
是否为对方配置了共享密钥,以及共享密钥是否一致

阶段2的SA没有建立:
show crypto ipsec sa
ACL是否匹配
安全提议是否一致
设置的隧道对端地址是否匹配
应用的接口是否正确

两个阶段的SA都成功建立,但不能通信:
  一般都是由于ACL的配置不当引起的,检查ACL的配置是否符合要求