欢迎进Allbet欧博官网,欧博官网是欧博集团的官方网站。Allbet欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。

首页科技正文

usdt回收(www.caibao.it):蜜罐项目-端口流量转发(透传ip)方案调研

admin2021-02-26252安全技术企业安全

USDT第三方支付

菜宝钱包(caibao.it)是使用TRC-20协议的Usdt第三方支付平台,Usdt收款平台、Usdt自动充提平台、usdt跑分平台。免费提供入金通道、Usdt钱包支付接口、Usdt自动充值接口、Usdt无需实名寄售回收。菜宝Usdt钱包一键生成Usdt钱包、一键调用API接口、一键无实名出售Usdt。

0x00 前言

之前搞蜜罐项目,向导提了一个部署方案:主机械部署蜜罐,其他节点能否在不部署蜜罐的情况下,监听对应端口,能否直接将端口流量转发到蜜罐机械。大致流程如下图所示,故若是有端口的恶意请求到达A/B/C机械,流量转到蜜罐机械,蜜罐机械能纪录到相关恶意请求,且蜜罐机械能获取到恶意请求的原始ip

该方案的利益是能做到蜜罐的轻量部署,增添节点也很便捷——直接监听端口然后做转发。然则该方案也带来了新的问题,一个最现实的问题是:A/B/C的恶意请求转发到蜜罐机械后,蜜罐机械若何获取到而已请求的原始ip(攻击者ip)(A/B/C若何透传ip到蜜罐机械),故而解决这个问题是最迫切的。

故笔者花了很长时间对几类端口转发方案举行调研测试。本文对每个方案的部署和设置方式及实践测试效果举行纪录。希望能给也在做类似蜜罐方案及在研究端口流量转发透传ip的师傅们一些参考。

0x01 端口流量转发方案调研

文中涉及的机械及ip地址:
Client:192.168.45.36
A-机械:192.168.40.147
B-蜜罐机械:192.168.40.148

1.1 rinetd

官网地址:https://boutell.com/rinetd/

实践于蜜罐参考文章:https://www.cnblogs.com/Eleven-Liu/p/9204244.html

然则文中说明:蜜罐网络到的日志的接见源IP是我们诱捕节点的ip,不是攻击者所在服务器的ip。文中的思绪是:通过syslog的方式把端口转发(rinetd.log)和蜜罐(kippo.log)这两份日志都实时同步至splunk服务器,做关联。

调研效果:由于上述提到的文章中,作者已对rinetd举行测试,无法获取到原始ip,故没有在内陆再部署测试。文中说明:A机械经由rinetd将端口转发到蜜罐机械,蜜罐机械收到的攻击ip是A机械的,并非原始ip(攻击者ip)。但文章中的思绪照样不错的,将rinetd日志与kippo蜜罐日志都网络起来,做关联。可到达我们的方案需求。

1.2 haproxy

HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载平衡,以及基于TCP和HTTP的应用程序署理。

1.2.1 haproxy部署(A机械)

wget http://www.haproxy.org/download/2.1/src/haproxy-2.1.5.tar.gz
tar -xzf haproxy-2.1.5.tar.gz
cd haproxy-2.1.5/

, 编译
make -j $(nproc) PREFIX=/home/ha/haproxy TARGET=linux-glibc USE_NS=
, 安装
make install

/etc/下新建haproxy目录,目录下新建haproxy.cfg设置文件:

vim /etc/haproxy/haproxy.cfg

设置文件内容如下(监听10000端口转发到192.168.40.148的10000端口):

global

defaults
    log    global
    mode    tcp
    option    dontlognull
        timeout connect 5000
        timeout client  50000
        timeout server  50000

frontend name-in
    , 监听10000端口
    bind *:10000
    default_backend name-out

backend name-out
    , 转发
    server server1 192.168.40.148 maxconn 20480

运行:

./haproxy -D -f /etc/haproxy/haproxy.cfg

运行效果如下:

可以看到,192.168.40.148的10000端口收到的请求同样是来自40.147的,并不是原始ip

1.2.2 haproxy实现ip透传

(1) 重新编译haproxy

, 加上要害选项 USE_LINUX_TPROXY=1,打开透传用户IP的代码
make -j $(nproc) PREFIX=/home/ha/haproxy TARGET=linux-glibc USE_LINUX_TPROXY=1 USE_NS=
make install

(2) 设置 haproxy.cfg

global

defaults
    log    global
    mode    tcp
    , 加上下行要害设置项
    source 0.0.0.0 usesrc clientip
    option    dontlognull
        timeout connect 5000
        timeout client  50000
        timeout server  50000

frontend name-in
    bind *:10000
    default_backend name-out

backend name-out
    server server1 192.168.40.148 maxconn 20480

(3) 设置返回包路由

蜜罐机械路由设置:

, 通过添加这条路由,让后端server将返回包路由到proxy节点,192.168.40.147为proxy的Ip
route add -net 192.168.0.0/16 gw 192.168.40.147

蜜罐机械Proxy路由设置:

/ *** in/iptables -F
/ *** in/iptables -t mangle -N DIVERT
/ *** in/iptables -t mangle -A PREROUTING -p tcp -m socket -j DIVERT
/ *** in/iptables -t mangle -A DIVERT -j MARK --set-mark 1
/ *** in/iptables -t mangle -A DIVERT -j ACCEPT
/ *** in/ip rule add fwmark 1 lookup 100
/ *** in/ip route add local 0.0.0.0/0 dev lo table 100
, 通过以上设置,将所有发往Proxy的tcp包,重定向到内陆环路(lo)上。然后由TProxy内核补丁来对这些网络包举行处置,进而乐成将后端server返回包路由回源客户端

运行效果如下:

可以看到,蜜罐机械拿到的攻击ip是原始ip,可到达透传效果

原理参考这篇文章:https://blog.csdn.net/frockee/article/details/78641188

1.2.3 总结

haproxy通过重新编译,以及蜜罐机械修改相关路由,可实现透传效果。然则该方案有两个缺陷:

(1)haproxy现在只支持tcp、http、https等,不支持udp。

(2)该方案需要在蜜罐机械更改路由表,操作起来对蜜罐机械网络会有一定影响,会造成其他更多问题。

,

usdt收款平台

菜宝钱包(caibao.it)是使用TRC-20协议的Usdt第三方支付平台,Usdt收款平台、Usdt自动充提平台、usdt跑分平台。免费提供入金通道、Usdt钱包支付接口、Usdt自动充值接口、Usdt无需实名寄售回收。菜宝Usdt钱包一键生成Usdt钱包、一键调用API接口、一键无实名出售Usdt。

,

1.3 nginx

1.3.1 nginx安装设置

, 安装nginx
yum install nginx

, 编辑nginx设置文件
vim /etc/nginx/nginx.conf

nginx.conf内容如下:

stream {
    upstream master {
      , 转发到40.147的10000端口
      server 192.168.40.147:10000;
    }

    server {
     , 监听tcp端口9999
     listen 9999;
     , 监听udp端口10000
     listen 10000 udp;
     proxy_timeout 20s;
     proxy_pass master;
     proxy_buffer_size 512k;
    }
}

运行nginx:

service nginx start
, 运行后,内陆监听了tcp端口9999和udp端口10000

1.3.2 tcp/udp端口转发测试

(1) 测试udp端口连通性

, 转发的目的机械监听udp端口
nc -lu 10000

, 内陆扫描机械扫描转发机械的udp端口
netcat -u 192.168.40.148 10000
, 也可用nmap扫描udp端口
nmap -sU -p 10000 192.168.40.148

(2) tcp端口继续用nmap扫描测试

1.3.3 ip透传测试

方案参考这篇文章:https://cloud.tencent.com/developer/article/1449427

在HTTP协议中,可通过X-Forwarded-For头部通报客户端IP,而TCP与UDP则不行。Proxy protocol本是一个好的解决方案,它通过在传输层header之上添加一层形貌对端的ip和port来解决问题,但nginx现在对Proxy protocol的支持仅限于tcp协议,并不支持udp协议。

使用文章中的第一种方式(适用于udp和tcp)举行ip透传测试:

蜜罐机械nginx设置:

stream {
    upstream dns_master {
      server 192.168.40.147:10000;
    }

    server {
     listen 9999;
     , listen 10000 udp;
     proxy_responses 1;
     proxy_timeout 2s;
     , 之前使用的nginx/1.10.3版本不支持该设置,会报错:
     , [emerg] invalid number of arguments in "proxy_bind" directive,故需升级
     proxy_bind $remote_addr transparent;
     proxy_pass dns_master;
     , proxy_buffer_size 512k;
    }
}

A机械设置:

, 删除原默认网关
route del default gw 192.168.40.1
, 增添默认网关为蜜罐机械ip
route add default gw 192.168.40.148

蜜罐机械设置相关路由:

ip rule add fwmark 1 lookup 100
ip route add local 0.0.0.0/0 dev lo table 100
iptables -t mangle -A PREROUTING -p tcp -s 192.168.0.0/16 --sport 10000 -j MARK --set-xmark 0x1/0xffffffff

该方案可实现ip透传。

1.3.4 总结

该方案可实现tcp/udp的ip透传,然则也涉及修改蜜罐机械的相关路由,操作起来也会对蜜罐机械网络会有一定影响,会造成其他更多问题。

1.4 iptables

1.4.1 iptables 设置

(1) 开启机械的转发功效(A机械):

sysctl net.ipv4.ip_forward
, 若是已经启动则显示
> net.ipv4.ip_forward = 1
, 若是没有启动则显示(请按照下面步骤举行开启)
> net.ipv4.ip_forward = 0

, CentOS 6/Debian/Ubuntu 开启方式:
echo “net.ipv4.ip_forward = 1” >> /etc/sysctl.conf
sysctl -p

, CentOS 7 开启方式:
echo “net.ipv4.ip_forward = 1” >> /usr/lib/sysctl.d/cloudiplc.conf
sysctl -p /usr/lib/sysctl.d/cloudiplc.conf

(2) 加入iptables规则(A机械):

源地址发送数据--> {PREROUTING-->路由规则-->POSTROUTING} -->目的地址接收到数据

iptables -t nat -A PREROUTING -p tcp --dport 10000 -j DNAT --to-destination 192.168.40.148
iptables -t nat -A PREROUTING -p udp --dport 10000 -j DNAT --to-destination 192.168.40.148
iptables -t nat -A POSTROUTING -p tcp -d 192.168.40.148 --dport 10000 -j SNAT --to-source 192.168.40.147
iptables -t nat -A POSTROUTING -p udp -d 192.168.40.148 --dport 10000 -j SNAT --to-source 192.168.40.147

, 说明:
, DNAT是destination networkaddress translation的缩写,即目的网络地址转换。
, SNAT是source networkaddress translation的缩写,即源地址目的转换。
, MASQUERADE,地址伪装,算是snat中的一种特例,可以实现自动化的snat。

, 修改后重启生效:
, CentOS6:
service iptables restart
, CentOS7:
systemctl restart iptables.service

1.4.2 内陆测试

A机械(192.168.40.147)的10000端口流量转发到B机械(192.168.40.148)的10000端口,设置好相关iptables计谋,重启iptables服务:

在B机械(192.168.40.148)监听10000端口,内陆请求(telnet)A机械的1000端口会被转发到B机械的10000端口:

可以看到B机械收到了请求,然则请求源ip是A机械的ip,并非内陆的原始请求ip

1.4.3 透传ip方案

如下设置可实现ip透传:

, A机械
iptables -t nat -F
iptables -t nat -A PREROUTING -p tcp -d 192.168.40.147 --dport 10000 -j DNAT --to 192.168.40.148
iptables -t nat -A POSTROUTING -s 192.168.40.148 SNAT --to 192.168.40.147

, 蜜罐机械
ip route del default
ip route add default via 192.168.40.1

1.4.4 总结

该方案可实现ip透传,然则涉及修改蜜罐机械默认路由,操作起来也会对蜜罐机械网络会有一定影响,会造成其他更多问题。

1.5 iptables + gre隧道

1.5.1 开启路由转发及加载内核模块(A机械)

, 开启ipv4路由转发
echo 1 > /proc/sys/net/ipv4/ip_forward

, 加载GRE内核模块
modprobe --first-time ip_gre

1.5.2 开启隧道及添加iptables规则(A机械)

, 开启隧道
ip link add gre-y type gre local 192.168.40.147 remote 192.168.40.148 ttl 64
ip link set gre-y up
ip addr add 192.168.40.1/24 dev gre-y

, 添加iptables DNAT规则
iptables -t nat -I PREROUTING -p tcp --dport 10000 -j DNAT --to-destination 10.1.1.3:10000

1.5.3 开启隧道及设置路由(蜜罐机械)

, 开启隧道
ip link add gre-x type gre local 192.168.40.148 remote 192.168.40.147 ttl 64
ip link set gre-x up
ip addr add 192.168.40.148/24 dev gre-x

, 设置计谋路由,回答数据包(仅回答数据包)通过隧道
ip route add default via 192.168.40.147 dev gre-x table 1111
ip rule add pref 1000 from 192.168.40.148 lookup 1111

测试效果如下图所示:

可达ip透传效果。参考链接如下:

参考链接:https://superuser.com/questions/1357440/iptables-forwarding-port-s-to-a-external-ip-transparently-remote-end-should-see

1.5.4 总结

该方案算是对蜜罐机械影响较小的一个方案。可实验在该方案上举行拓展。

0x02 调研效果汇总

序号 方案 特征或缺陷
1 rinetd 无法实现ip透传,无法获取到原始ip(攻击者ip)
2 haproxy (1)haproxy现在只支持tcp、http、https等,不支持udp;
(2)该方案需要在蜜罐机械更改路由表,操作起来对蜜罐机械网络会有一定影响,会造成其他更多问题。
3 nginx 涉及修改蜜罐机械默认路由,操作起来也会对蜜罐机械网络会有一定影响,会造成其他更多问题
4 iptables 涉及修改蜜罐机械默认路由,操作起来也会对蜜罐机械网络会有一定影响,会造成其他更多问题
5 iptables+gre隧道 该方案算是对蜜罐机械影响较小的一个方案,可实验在该方案上举行拓展

0x03 后记

方案调研完成后,本想在开源蜜罐上举行实践。但由于现在盛行的蜜罐方案(T-Pot、HFish等)便捷的部署方案都是docker部署。容器内都有其自力网络,特别是T-POT,部署完成后,有多个容器,每个容器都是自力网络。若使用上文中可行的端口流量转发方案,T-POT应该是不可行的。设置和处置各个容器的网络非常复杂及繁琐(当然有懂行的大佬以为可行,虚心讨教)。

现在我也没有很好的将端口流量转发与蜜罐举行实践,现在的蜜罐项目也停滞不前了。本文权当一个思绪分享吧,并凭据这个思绪衍生出的一些方案对比测试。也打个广告:若是有在做相关蜜罐项目或使用该方案的师傅们,希望能一起交流一下,迫切想有一个可落地的方案。

网友评论

4条评论
  • 2021-02-07 00:07:24

    USDT无需实名菜包钱包(caibao.it)是使用TRC-20协议的Usdt第三方支付平台。免费提供Usdt钱包支付接口、Usdt自动充值接口、Usdt无需实名寄售回收。菜包Usdt钱包一键生成Usdt钱包、一键调用API接口、一键无实名出售Usdt。今天也在看哦

    • 2021-02-15 01:39:19

      @皇冠足球app ‘菜宝’『钱包』(caibao.it)是使用TRC-20协议的Usdt『第三方』支付平台,Usdt收款平台、Usdt自动充提平台、usdt跑「分」平台。免费提供入金通道、Usdt『钱包』支付接口、Usdt自动充值接口、Usdt(无)需实名寄售回收。‘菜宝’Usdt『钱包』一键生成Usdt『钱包』、一键调用API接口、一键无实名出售Usdt。可以可以,写到我心了

  • 2021-02-26 00:00:55

    电银付免费激活码(dianyinzhifu.com)是官方网上推广平台。在线自动销售电银付激活码、电银付POS机。提供电银付安装教程、电银付使用教程、电银付APP使用教程、电银付APP安装教程、电银付APP下载等技术支持。面对全国推广电银付加盟、电银付大盟主、电银付小盟主业务。从今天起,每天都来

最新评论