Wooyun + Ubuntu = Woobuntu

Woobuntu是基于Ubuntu系统的一款安全研究环境配置工具,可以自动安装并配置众多的安全工具与依赖环境,此外还针对中国用户的习惯进行了一些优化,可以为白帽子们提供更加优雅的桌面系统体验。Woobuntu完全开源免费,并且保留了Ubuntu的全部特性。

0x00 从kali说起


对于绝大多数白帽子而言,目前最好的渗透测试Linux系统是kali linux(之前的Backtrack Linux),我也一直在用Kali来进行各种工作。但是作为一个中国人,不得不说Kali用起来相当别扭,列举一下我在安装配置Kali过程中遇到过的问题:

  1. 安装时选择中文,安装完没有中文输入法,然后经常需要输入 cd 桌面
  2. 由于是root用户登录,没法用chrome,没法用VLC (去google十分钟吧,啊不,百度十分钟)
  3. 装完没有Office,必须从虚拟机复制截图和代码出来写word文档
  4. 不带linux-header,VirtualBox增强功能装不上
  5. 一个apt-get输入完,连接kali官方软件源的速度简直不忍心看
  6. 复制国内kali源到……没有增强工具包复制不进虚拟机,虚拟机内开浏览器发现是iceweasel,搜索时打不出中文字,惨不忍睹……

0x01 从Ubuntu说起


对于大部分Linux初学者来说,Ubuntu的桌面系统相对更加友好一些,尤其是Ubuntu麒麟版,算了不评论了,继续说一下在使用中遇到的问题:

  1. Unity桌面很别扭,从没用过全局DASH,我要用什么肯定是ctrl+alt+t然后输命令(因为菜单没了)
  2. 比起什么软件都没有装,滥装垃圾软件更可怕
  3. 作为一个安全研究人员,要装的东西太多了,太费劲了,随便一个msfconsole打进去竟然都没有……

所以,Ubuntu的桌面体验和中文支持要优于Kali,只不过Ubuntu上没有预装好安全工具,而且针对高技术能力的白帽子人群还有一些很别扭的地方需要调整

0x03 Woobuntu的理想


我曾经看过很多文章,都叫做《安装完XX系统后要做的XX件事》,有的文章做的事甚至多达20件,如果还要做如此多的事情,为何不直接集成在系统安装镜像中?

既然人们对系统“预装软件”所持的褒贬态度大不相同,为何不直接给出一个干净的系统,再给出简单方便可修改的工具自动化安装脚本,让他们各取所需?

能力超群的白帽子们心里真正想要的,不是一个能令多数人满意的操作系统,而是一个“可以自己定制预装软件,而且定制过程非常简单”的操作系统,而且这个自己改过的脚本将来还可以分享给别人。当然如果你很懒的话,直接下载一份预编译的Woobuntu系统就开始用也可以,至少里面有输入法和metasploit了哼哼~

所以Woobuntu的目标如下:

  1. 完全开源,并且会有文档教你如何注释掉你不需要安装的工具(前面加#号)
  2. 自动化构建安装镜像(需要你设置mysql密码之类的地方需要手动设置),有prebuild的安装镜像可参考
  3. 针对中国白帽子加强的初始设置以及中文支持
  4. 大量的安全工具集成,以及自动完成部分工具的初始化配置,大量的安全研究环境集成,可无需配置直接编译WooyunWifi和Woophone Android代码(代码包太大,后续提供)
  5. 仍然是一个Ubuntu,可以胜任桌面主系统(提醒一下,Ubuntu是可以和Windows共存的,装虚拟机也可以,U盘直接运行也可以)

总结就是让白帽子用最少代价构建一个完全自己定制的Ubuntu系统,用来安全研究和测试

0x04 Woobuntu特性


Woobuntu比Ubuntu多一个Kali,比Kali多整个Ubuntu(因为kali自己做repository,所以它基于什么都不重要了,软件包陈旧的难以想象)

  1. 重点预装Wine QQ ,chromium ,metasploit-community,beEF,burp,edb-debugger,无线破解全家桶和字典,多数图形化软件在菜单中有启动器
  2. 一大堆常用的安全工具(请参见源码,比如sqlmap,nmap,arachni之类的实在太多了),开发环境更不用说了,直接免配置编译Android、Openwrt
  3. 取消了“桌面”文件夹,再也不用命令行 cd 桌面 了 ,Vim的轻微配置,Terminal的预设置,文泉驿微米黑,之类一大堆的优化
  4. 一个装满了常用插件的firefox(而且可以随着Ubuntu软件源更新)
  5. 直接把restricted-extra还有中文输入法等集成进安装包了,不用担心安装系统时下载超多软件包卡住不动了(懒人在下载软件包时点跳过就好了,不懒的人等他下载完更新下软件包版本也可以)
  6. php5 mysql-server php5-mysql 预先下载好但未安装,如果想要安装,不需要联网了,当然不安装也可
  7. 编译WooyunWifi和Woophone Android代码时无需配置环境了,对于想要尝试自己构建乌云路由和乌云手机固件的白帽子来讲,可以尝试编译Openwrt和CM 12.1了
  8. 仍然是Ubuntu,仍然可以直接upgrade,仍然可以装steam玩dota2,当然也可以在Woobuntu里面用Woobuntu构建脚本来定制一个Woobuntu安装镜像
  9. 可以光盘启动,U盘启动,如果有乌云手机,也可以手机USB伪造光驱启动
  10. 你可以定制安装脚本,生成一个你自己专属的安装镜像(妈妈,我有一个自己的操作系统了)

只是列举了一些关键特性,其他的特性请参见源代码,因为不是所有的特性都能公开说

最后提醒一下,相对于Windows,Woobuntu解决了盗版问题,不,算了,还是当我没说吧

0x05 如果我就是喜欢kali


因为Ubuntu是Linux,所以你可以用Docker来加载kali,比虚拟机效率高多了,尽管Woobuntu已经集成了大量的安全工具环境,如果你就是喜欢kali,用Ubuntu+docker比用Windows+虚拟机更省资源

另外Woobuntu也可以安装VirtualBox虚拟机,然后虚拟机运行Windows或者kali,而且别忘了,你已经有wine了,某些Windows程序是不需要虚拟机直接就能双击运行的,而在Woobuntu中编译的二进制文件是可以直接拿到Kali中运行的

0x06 游戏体验


Woobuntu中可以装steam来安装各种游戏,比如dota2

建议您留一份Windows操作系统用于玩大型游戏,在需要玩大型游戏时重启至Windows进行游戏,当然你直接把Woobuntu丢在Windows下的虚拟机里也可以,毕竟是xfce的轻量级桌面,虚拟机条件下xfce比gnome运行要流畅的多,虚拟机分配2G内存即可流畅运行多数工具(如果需要编译openwrt或者Android代码请增加内存,如果需要在虚拟机内开大量浏览器网页请适当增加内存)

0x07 社区支持


如果您有什么建议,比如增加一个工具或者调整一项配置,可以在乌云社区内讨论,或者直接fork代码,然后发一个pull request

如果发现BUG,可以在Github上开个issue,或者直接在乌云社区里发帖

还有亲爱的喷子们,欢迎来喷,相比之下喷Woobuntu比喷Kali要舒服多了,因为作为开发者,我就在乌云社区里而且我们都看得懂中文~嘿嘿嘿O(∩_∩)O

乌云社区Beta测试发布地址(预编译系统镜像):http://zone.wooyun.org/content/24191

源码github地址:https://github.com/woolabs/Woobuntu

Woobuntu的更多相关文章

  1. Woobuntu woobuntu_build.sh hacking

    # Woobuntu woobuntu_build.sh hacking # 说明: # 有时候因为一些需求,我们需要定制一些系统,包括Ubuntu系统,于是 # 我们自然需要知道如何去解包一个Ubu ...

随机推荐

  1. redis的日常操作(1)

    一.简介 [概述] redis是一种nosql数据库,他的数据是保存在内存中,同时redis可以定时把内存数据同步到磁盘,即可以将数据持久化,并且他比memcached支持更多的数据结构(string ...

  2. 《Neural Networks and Deep Learning》课程笔记

    Lesson 1 Neural Network and Deep Learning 这篇文章其实是 Coursera 上吴恩达老师的深度学习专业课程的第一门课程的课程笔记. 参考了其他人的笔记继续归纳 ...

  3. 解决 Elasticsearch 超过 10000 条无法查询的问题

    解决 Elasticsearch 超过 10000 条无法查询的问题 问题描述 分页查询场景,当查询记录数超过 10000 条时,会报错. 使用 Kibana 的 Dev Tools 工具查询 从第 ...

  4. web service----调用第三方接口

    1. 什么是Web Service呢?从表面上看,WebService就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API.这就是说,你能够用编程的方法通过Web调用来实现某个功能的应用 ...

  5. (C#)Appium自动化测试之卸载\重装APP

    1.先获取session,实例化driver 2.自动安装APP //安装driver.InstallApp("APP的路径"); //判断是否安装完成,返回true\false ...

  6. 【AMAD】dogpile.cache -- 一个Python缓存API,提供一套通用的接口来适配不同的缓存后端

    简介 动机 作用 用法 个人评分 简介 Dogpile1由两套子系统组成,其中一个是基于另一个来构建的. dogpile提供了dogpile lock的概念,这个控制结构让一个线程可以被选为一些资源的 ...

  7. 【JulyEdu-Python基础】第 6 课:高级面向对象

    使用@property添加属性和自定义属性 __slots__和property 方法和属性的动态绑定 使用__slots__限定class实例能添加的属性 __slots__仅对当前类实例起作用,对 ...

  8. EL表达式的11隐含对象

    EL表达式在不同范围如何取值: <% pageContext.setAttribute("book", "红楼梦"); request.setAttrib ...

  9. 如何用快排思想在O(n)内查找第K大元素--极客时间王争《数据结构和算法之美》

    前言 半年前在极客时间订阅了王争的<数据结构和算法之美>,现在决定认真去看看.看到如何用快排思想在O(n)内查找第K大元素这一章节时发现王争对归并和快排的理解非常透彻,讲得也非常好,所以想 ...

  10. git 添加本地项目到远程仓库 记录一下命令

    1.初始化 git init 2.关联远程仓库 git remote add origin 你的仓库地址 3.加入到本地仓库 git add * 4.推送(强推).如果不想强推 ,可以先执行下 git ...