欺负一下暴力破解 SSH 密码的脚本小子,分享一个 SSH 蜜罐 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
raysonx
V2EX    Linux

欺负一下暴力破解 SSH 密码的脚本小子,分享一个 SSH 蜜罐

 4  
  •   raysonx
    vfreex 2016-09-17 17:58:56 +08:00 12265 次点击
    这是一个创建于 3335 天前的主题,其中的信息可能已经有所发展或是发生改变。
    这是一个在 GitHub 上找到的开源项目,名叫 Cowrie : https://github.com/micheloosterhof/cowrie
    简单地测试了一下,支持记录暴破用的密码,支持记录登录蜜罐后执行的命令,“登录”后是一个伪装的 Debian 系统,还支持伪装的 apt-get install (笑)。
    还可以配置成让对方暴破一定随机次数后“登录”,简直神器。
    45 条回复    2016-09-19 14:04:14 +08:00
    raysonx
        1
    raysonx  
    OP
       2016-09-17 18:01:31 +08:00
    我尝试做了一个 Docker image ,让蜜罐跑在 Docker 里的非 root 用户下,看起来不错:
    https://github.com/vfreex/docker-cowrie
    thekoc
        2
    thekoc  
       2016-09-17 18:03:07 +08:00

    看起来好不靠谱啊…
    这个别人中招了以后又怎么样呢
    kn007
        3
    kn007  
       2016-09-17 18:03:27 +08:00
    挺有恶趣味,我喜欢
    raysonx
        4
    raysonx  
    OP
       2016-09-17 18:06:43 +08:00   1
    @thekoc 我觉得这是作者怕蜜罐出现漏洞,被提权。
    我自己的 VPS 上是这样处理的: VPS 上安装 Docker ,开启 SELinux ,然后让 Cowrie 跑在 Docker 里面,同时还是 Docker 里面的非 root 用户。我觉得这样处理后被提权的可能性就很小了,除非 Linux 的 namespaces/cgroups 或者 Docker 出现严重的安全漏洞。
    choury
        5
    choury  
       2016-09-17 18:15:22 +08:00 via Android
    反正我是直接改了 openssh 源码,所有登陆全部记下密码然后返回失败
    adoyle
        6
    adoyle      2016-09-17 18:15:45 +08:00
    第一次听说蜜罐,看了下还挺有意思的

    分享一个列表 https://github.com/paralax/awesome-honeypots
    raysonx
        7
    raysonx  
    OP
       2016-09-17 18:19:25 +08:00
    关于安全问题,我是这么想的。
    如果对方能从 Docker 的非 root 用户下逃逸出去,这基本上得利用 Linux 内核里面包括 namespaces/cgroups/SELinux 等等的重大漏洞,直接搞个大新闻,全球的顶尖安全公司争着要,还用得着做黑产?
    raysonx
        8
    raysonx  
    OP
       2016-09-17 18:20:14 +08:00
    @adoyle 很全,多谢。
    itisthecon
        9
    itisthecon  
       2016-09-17 18:56:51 +08:00 via Android
    好东西,先收藏了
    liangx201
        10
    liangx201  
       2016-09-17 19:07:12 +08:00
    不会用,看上去是个好东西,刚学建立网站!
    loading
        11
    loading  
       2016-09-17 19:26:35 +08:00 via Android
    不错,感谢分享
    fhefh
        12
    fhefh  
       2016-09-17 19:32:23 +08:00
    mark~~
    hggg
        13
    hggg  
       2016-09-17 19:37:48 +08:00
    2333333 这个酷
    Asimov
        14
    Asimov  
       2016-09-17 19:48:27 +08:00 via iPad
    弱弱地问一下 这样蜜罐有什么用
    yun
        15
    yun  
       2016-09-17 20:44:19 +08:00
    楼主撸个教程吧,很感兴趣。
    huamei
        16
    huamei  
       2016-09-17 20:54:44 +08:00
    虽然暂时还不想玩这个,但是 mark 一下,万一哪天感兴趣了呢^_^
    majinjing3
        17
    majinjing3  
       2016-09-17 22:16:59 +08:00 via Android
    不错,不错, mark 一下
    20150517
        18
    20150517  
       2016-09-17 22:29:15 +08:00
    @choury 好主意,哈哈,分享代码么?
    20150517
        19
    20150517  
       2016-09-17 22:30:06 +08:00
    @raysonx docker 就算是 root 用户,你怎么逃出去?这也很难吧?
    raysonx
        20
    raysonx  
    OP
       2016-09-17 22:30:41 +08:00
    @thekoc
    @Asimov
    暴破密码的人会得到一个伪装的 Shell 和伪装的文件系统,执行任何命令都会被记录下来。
    在这个伪装的 Shell 里执行命令本身并不会对你的系统造成任何影响,也看不到任何真实的文件。
    raysonx
        21
    raysonx  
    OP
       2016-09-17 22:31:38 +08:00
    @20150517 所以我刚刚说,如果能逃出去,“直接搞个大新闻” XD
    20150517
        22
    20150517  
       2016-09-17 22:36:46 +08:00
    @raysonx 我在试这个 docker,这个能不能记录下来别人使用的命令?
    20150517
        23
    20150517  
       2016-09-17 22:37:12 +08:00
    一般他们都会向这服务器传些东西的,我想看看他们到底是想干吗
    raysonx
        24
    raysonx  
    OP
       2016-09-17 22:43:27 +08:00
    @20150517 当然可以啊,你可以用我做的 dockerfile 和 compose file: https://github.com/vfreex/docker-cowrie
    说明里面有写找日志的位置。如果你没改 git clone 下来的目录的名字的话,日志文件在
    /var/lib/docker/volumes/dockercowrie_cowrie-log/_data/cowrie.log
    alect
        25
    alect  
       2016-09-17 22:46:11 +08:00
    @iCodex 挺好玩。。
    20150517
        26
    20150517  
       2016-09-17 22:57:00 +08:00
    @raysonx
    Traceback (most recent call last):
    File "<string>", line 3, in <module>
    File "compose/cli/main.py", line 61, in main
    File "compose/cli/main.py", line 113, in perform_command
    File "contextlib.py", line 35, in __exit__
    File "compose/cli/errors.py", line 56, in handle_connection_errors
    TypeError: log_timeout_error() takes exactly 1 argument (0 given)
    docker-compose returned -1

    好像不行啊,有错误
    swsh007
        27
    swsh007  
       2016-09-17 23:05:37 +08:00 via Android
    这个好玩。
    raysonx
        28
    raysonx  
    OP
       2016-09-17 23:06:21 +08:00
    @20150517
    1.测试一下你的 docker 运行是否正常:
    docker info
    2. 检查 docker-compose 运行是否正常:
    docker-compose -v
    另外你的 docker-compose 是怎么安装的呢?用 pip 升级一下试试?
    sudo pip install docker-compose -U
    raysonx
        29
    raysonx  
    OP
       2016-09-17 23:09:23 +08:00
    @20150517 对了,如果你是用普通账号运行 docker 或者 docker-compose 命令,你的账号比须在 docker 组里。
    否则,你就只能用 sudo 执行 docker 或者 docker-compose 命令了。
    20150517
        30
    20150517  
       2016-09-17 23:29:40 +08:00
    @raysonx 可以了,可惜默认密码还是有点复杂啊,哈哈,要是能随便什么密码都能通过就好了
    raysonx
        31
    raysonx  
    OP
       2016-09-17 23:34:47 +08:00
    @20150517 各种配置都在 cowrie.cfg 里面,包括密码配置。
    它默认是允许任何密码登录的,如果你用的我的 docker 镜像的话,我的那个配置更改成了随机 2-5 次才会登录成功,和你用什么密码没什么关系。见“ auth_class_parameters = 2, 5, 10 ”这一行。
    Satan4869
        32
    Satan4869  
       2016-09-18 00:15:31 +08:00
    蜜罐原来是这么个意思,我还以为和火罐差不多呢……
    刚刚拔了次火罐的路过……
    starqoq
        33
    starqoq  
       2016-09-18 02:19:37 +08:00
    我记得蜜罐还有一个很贱的 feature 。
    就是你在 ssh 登录后输入 exit ,并不会断开,
    但是你以为断开了,就尝试连接下一个成果了。
    RqPS6rhmP3Nyn3Tm
        34
    RqPS6rhmP3Nyn3Tm  
       2016-09-18 06:16:15 +08:00 via iPad
    可是,直接禁止密码登录不就好了吗……
    des
        35
    des  
       2016-09-18 07:22:21 +08:00 via Android
    楼主,要是对方玩 fork 炸弹或者 io 给你塞满呢?
    matrix67
        36
    matrix67  
       2016-09-18 07:42:44 +08:00 via Android
    fio 写满磁盘 io
    iperf netperf 打满带宽
    memtest stress 跑满内存 CPU

    哼,
    beyondsoft
        37
    beyondsoft  
       2016-09-18 07:59:03 +08:00
    哈哈哈 这个蜜罐不错,还模拟了内网的网络 回头内网部署一个加个告警监控 钓鱼执法
    lxrmido
        38
    lxrmido  
       2016-09-18 08:27:44 +08:00
    mark~~~
    shippo7
        39
    shippo7  
       2016-09-18 08:49:45 +08:00
    这个好酷
    raysonx
        40
    raysonx  
    OP
       2016-09-18 09:06:00 +08:00 via Android
    @des 对方能够执行的命令十分有限,没有试过 fork 炸弹能否运行,回头测试一下。谨慎起见的话,跑在 docker 里可以限制资源使用。
    @matrix67
    raysonx
        41
    raysonx  
    OP
       2016-09-18 10:18:24 +08:00
    @matrix67
    @des
    专门测试了一下,伪 SHELL 根本不支持&后台进行,也不支持定义函数。
    iperf,fio,memtest,stress 命令不支持(肯定不能支持啊)。
    ilyar
        42
    ilyar  
       2016-09-18 12:43:06 +08:00
    docker-compose up 报错
    ERROR: In file './docker-compose.yaml' service 'version' doesn't have any configuration options. All top level keys in your docker-compose.yml must map to a dictionary of configuration options.
    ilyar
        43
    ilyar  
       2016-09-18 12:43:39 +08:00
    ilyar
        44
    ilyar  
       2016-09-18 12:48:36 +08:00
    sorry 升级 docker-compose 到 1.8 解决
    https://docs.docker.com/compose/install/
    bao3
        45
    bao3  
       2016-09-19 14:04:14 +08:00
    我直接在我的 vps 上部署了。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1084 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 18:19 PVG 02:19 LAX 10:19 JFK 13:19
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86