自Kali 2.0发布以来,我们发现在安装kali之后经常会重复一些配置操作,对此,我们想要把它们分享出来,希望对大家也能够有所帮助。我们整理了一些遇到的常见问题的回答。下面是其中最常见的10个:

  • 激活或禁用智能侧边栏

有的人喜欢它,有的人不喜欢它。我们谈一下如何改变侧边栏的行为。进入【优化工具】,选择【扩展】,可以看到【Dash to dock】处于开启的状态,点击右侧的设置按钮,在【Position and size】tab页可以看到【Intelligent autohide】,只要将该选项禁用即可改变侧边栏的智能隐藏行为,附视频链接:Disabling the Kali Linux 2.0 Sidebar Autohide feature from Offensive Security on Vimeo.

  • 将你的SSH公钥添加到Kali 2.0

Kali Linux 2.0 延续了Debian的SSH配置选项, 从Jessie版本之后默认不允许root用户在没有key的情况下登录。

root@kali:~# grep Root /etc/ssh/sshd_config
PermitRootLogin without-password

比较不提倡的一种方法是将PermitRootLogin参数设置为“yes”然后重启SSH服务,可以允许root用户远程登录。如果要实现更加安全的远程root访问,可以将你的公钥添加到/root/.ssh/authorized_keys 文件中。

  • 需要时安装NVIDIA驱动

如果你有一块NVIDIA显卡,你应该按照这些步骤来为Kali 2.0安装NVIDIA驱动。

  • 需要时安装VMware或者VirualBox Guest Tools

安装虚拟机客户工具的方法并没有很大变化,在最新的Vmware(Workstation和Fusion)以及VirtualBox中都能够正常工作。

  • 禁用Gnome桌面的锁屏特性

我们没有在正式版中禁用这个特性但是会在接下来的开发中以及将来的ISO发行版中这样做。下面是禁用Gnome锁屏特性的最快方法:进入【设置】-》【电源】,将【省电】中的空白屏幕设置为【从不】(never),然后回到【设置】主界面,进入【隐私】,将【锁屏】设为关。 附视频链接:Disable the Screen Lock Gnome feature in Kali 2.0  from Offensive Security on Vimeo.

  • 不要在你安装的kali 2.0中添加额外的源

如果因为某些原因,你在安装kali过程中,当被问到“使用网络镜像”时选择了否,可能会导致你的sources.list文件中丢失一些条目。如果是这种情况,检查一下官方的源列表来确定哪些条目应该在那个文件中。即使很多非官方的说明让你这样做,你也应该避免在sources.list文件中添加多余的源。不要添加kali-dev, kali-rolling 或者任何其他的kali源除非你有特别的理由,一般情况下你是没有的。如果你不得不添加额外的源,在/etc/apt/sources.list.d/目录下添加一个新的源文件。

  • 如果以root用户运行让你觉得不爽,添加一个非root用户

我们看到很多用户使用Kali非常谨慎因为主要的系统用户是root。这经常会令我们感到困惑,因为添加一个非root用户到Kali中是一件微不足道的事情并且通过几条类似下面的简单命令很容易就能够做到这一点:

root@kali:~# useradd -m muts -G sudo -s /bin/bash
root@kali:~# passwd muts
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
root@kali:~#

  • 避免安装Flash Player

只要记住不要这样做。

  • 保持kali系统更新

我们每天4次同步来自debian的更新。这使得Kali的安全更新一直保持最新状态。你应该通过经常执行下面的命令来保持你的系统处在最新状态:

apt-get update
apt-get dist-upgrade

  • 避免在FSH定义的目录中手动安装工具

你有几种不同的方式来使用Kali——或者作为一个用后可仍的渗透系统或者作为一个长期使用的系统。用后可仍的方式是指安装kali作为一次性或者短期用途之后就扔掉。长期使用则是指想要每天使用Kali。这两种方式都是有效的但是需要区别对待。如果你计划每天使用Kali, 你应该避免在FSH定义的目录中手动安装程序因为这可能会与现有的包管理工具冲突。

参考:Kali Linux 2.0 Top 10 Post Install Tips

本人的研究方向主要是跟渗透测试(Penetration test)相关,在这里推荐的EI期刊基本都是跟这个研究方向比较相关的。

以下期刊截至到2015年6月都被Ei Compendex收录。

dig testfire.net

dig testfire.net MS  // 查找域名服务器信息

dig tetfire.net @8.8.8.8 // 使用指定域名服务器进行查询

dig testfire.net A +noall +answer //域名地址查询,输出简略信息

dig axfr testfire.net @usc3.akam.net  // dns区域传送

dig -x 8.8.8.8 // 反向解析

dig -x 8.8.8.8 +short // 简略信息

 

在线:
VPN
代理:Window->Preferences->General->Network Connections

离线:
sourceforge.net搜索最新 pydev for eclipse,解压后将features和plugins目录的文件拷贝到eclipse同名目录中,此时打开eclipse,应该找不到pydev,此时需要
help->Install new software,安装pydev(http://pydev.org/updates),只要要下载的最新版本和你已经下载的版本是一致的,就可以跳过在线下载,进入到最后的安装阶段,从而完成安装

本篇主要介绍一下在ubuntu下如何安装latex以及增加对中文的支持。

在ubuntu下安装latex,直接用apt就可以搞定:

sudo apt-get install texlive-full

这条命令会让你安装1.4G左右的东西,实际上texlive的镜像就是这么大,如果你的网速快的话,最多几十分钟就可以搞定,慢的话,你就先去做别的事吧。

安装完成之后,你可以运行命令

tex --version

你可以看到你安装的tex的版本,我的版本是2013。
2015-07-25 20:03:07的屏幕截图

安装结束之后,如果要使用中文字体,由于ctex默认使用的windows字体,所以需要从windows系统中将字体拷出来,建议放到/usr/share/fonts/windows目录下,注意一下执行 ll 命令查看字体文件是否是可读的,否则会出现字体文件找不到的情况,可以执行

chmod 755 /usr/share/fonts/windows/*

然后你需要执行以下命令来让系统知道新字体的存在

cd /usr/share/fonts/windows
sudo mkfontscale 
sudo mkfontdir 
sudo fc-cache -fv

运行结束之后,可以运行命令

fc-list :lang=zh

查看字体是否已经安装成功

tex已经安装成功,接下来如何编辑tex文档呢?我们可以执行

sudo apt-get install texmaker

安装成功之后,我们就可以使用taxmaker来编辑tex文档了

2015-07-25 20:23:27的屏幕截图

使用xelatex进行编译,就可以生成pdf了

2015-07-25 20:20:30的屏幕截图

如果要使用texmaker的快速构建生成包含中文的pdf文档,就需要对texmaker进行配置

选项->配置TexMaker->快速构建->XeLatex+View PDF

前言:之前有一个项目要用到cx_Freeze打包python3的脚本,而且需要测试linux不同服务器的发行版,主要是Ubuntu和CentOS,后来发现在CentOS编译生成的文件基本可以直接在Ubuntu下运行,CentOS为了追求稳定性所以一些库的版本比较低,而Ubuntu的库的版本相对较高,所以自然是向下兼容的。

这里我测试过的CentOS版本有6.4, 6.5, 6.6以及7

首先,第一步肯定是安装Python3

wget https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tgz
yum groupinstall "Development tools"
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel

其次,便是利用Python3提供的pip来安装cx_Freeze

ln -s libpython3.4m.a libpython3.4.a 
pip3 install cx_Freeze

需要注意的是,如果不执行第一条指令,cx_Freeze会安装失败,查看记录,会发现失败的原因是找不到python3.4库文件,后来发现python3.4的库文件改成libpython3.4m.a了,所以gcc通过lpython3.4是找不到的,我们只需要建立一个软链接即可

首先声明一下,这不是writeup,如果想看writeup,请移步DUTCTF writeup,本文主要介绍作为一个CTF小白混迹DUTCTF比赛的经历。

DUTCTF是大连理工的第一届CTF,是大连理工的内部比赛,后来吸引了一批外来人口也参与到其中,我也是其中之一,虽然外校的没有奖品,但是涨涨姿势也是好的。

==============以上纯属废话,下面进入正题=====================

Web安全是我接触时间比较长的,因此首先我去看了一下Web方向的题目

Web 10pt

DJ昨天才搭的网站,今天就被撸了,发现了一个一句话木马,密码是cmd,你能发现什么有用信息吗? http://dl.dutsec.cn/web/web10/index.php

因为基本没有拿站的经验,所以这道题一上来有点蒙,后来出题人提示说需要拿站经验,咳咳,好歹也是接触过一点,php的一句话木马还是知道的,基本类似于

< ?php eval($_POST['cmd']); ?>

这种,密码应该就是post字段了,但是应该post什么值呢,思来想去,无果,后来去查了一下,看到了phpinfo(),突然想到应该就是它,试了一下,没用,于是考虑写成语句 phpinfo(); 果然奏效

2015-04-29 22:58:44的屏幕截图

Web 50pt

kow才开始学php,写了个小网站,但是有点安全问题,你能利用漏洞获取flag吗?http://dl.dutsec.cn/web/05c035b1d7e82a97/index.php

首先看了下源代码,发下有源代码,其中有一句:

$sql = "select user from php where (user='$user') and (pw='$pass')";

比较经典的sql注入,直接构造payload:  user=admin’ or ‘1’=’1′)#&pass=123

2015-04-29 23:09:51的屏幕截图

web 100pt

DJ觉得kow写的网站太渣,他也来写了一个,但是说好的源码呢?(注意备份文件哦)
http://dl.dutsec.cn/web/c66ba13ab15ac925/index.php

看了一下网页源码,无任何额外信息,再看题目中的提示,备份文件,于是直接试了一下 index.php.bak,果然有东西,内容是index.php的源码,

if(eregi("hackerDJ",$_GET[id])) {
echo("<p>not allowed!</p>");
exit();
}

$_GET[id] = urldecode($_GET[id]);
if($_GET[id] == "hackerDJ")
{
echo "<p>Access granted!</p>";
echo "<p>flag: xxxxxxxxxxxxxxxxxxxxxxxxxxxxx </p>";
}

由于之前刚刚入过urldecode的坑,所以一眼就看到了urldecode的问题,对hackerDJ双重urlencode编码即可,浏览器会自动解码一次。

2015-04-29 23:19:12的屏幕截图

 

web 100pt

kow一气之下又写了一个网站,但是他好像又疏忽了http://dl.dutsec.cn/web/f73b6ed70786ef40/index.php

这道题目还是代码审计的题目(看样子大连理工比较偏爱PHP审计),看源代码,发现index.php.bak,下载打开看了一下

$user = $_POST[user];

$pass = md5($_POST[pass]);

$sql = "select pw from php where user='$user'";
$query = mysqli_query($conn,$sql);
if (!$query) {
printf("Error: %s\n", mysqli_error($conn));
exit();
}
$row = mysqli_fetch_array($query);
//echo $row["pw"];
if (($row[pw]) && (!strcasecmp($pass, $row[pw]))) {
echo "<p>Logged in! Key: ################################ </p>";
}
else {
echo("<p>Log in failure!</p>");
}
}

一开始考虑strcasecmp函数那有问题,众所周知,php的比较是个坑,因为php是弱类型,所以比较容易出问题,考虑是否其中一个参数为数组,$pass为md5之后的结果,只能是字符串,$row本身是查表返回跟用户名匹配的密码,所以它要么是空,要么是一个array(“pw”=>”xxxx”)的结构,也没有成为数组的可能,同时if中的第一个判断条件也杜绝了$row为NULL的情况,后来想到应该是sql查询出了问题,但是始终不知道应该怎么利用,赛完经过提示,此处是利用union select(之前对union的认识有误区),payload: user=’ union select ‘202cb962ac59075b964b07152d234b70’#&pass=123 (前面是对123的md5)

2015-04-29 23:33:04的屏幕截图

 

继续阅读