Memaparkan catatan dengan label Bash. Papar semua catatan
Memaparkan catatan dengan label Bash. Papar semua catatan

Isnin, November 10, 2014

Kali Linux - Cara hidupkan rangkaian

Hari ni test image VMware Kali Linux 1.0.9. Bila dah siap download. Aku pun transfer ke dalam VMware dan mula. Semua berjalan lancar kecuali network-manager tak dapat nak sambung dengan NAT ataupun Bridge yang aku buat. Godek punya godek, ada bug rupanya pada Debian Linux (Base yang Kali Linux guna).

Cara nak selesaikan masalah ni ialah dengan cara berikut:
# leafpad /etc/NetworkManager/NetworkManager.conf
Pada ruang managed=false tukarkan kepada managed=true kemudian save!
# service network-manager restart
Arahan ni untuk 'restart' sambungan rangkaian. Ok cun, dah jalan dan bersambung dengan NAT ataupun Bridge yang dah ditetapkan. Yeaah!

Jumaat, Januari 17, 2014

Linux / CentOS 6 : owncloud

Langkah 1 : Pasang pakej EPEL yang terkini melalui Fedora Project1
#  wget http://ftp.riken.jp/Linux/fedora/epel/6/i386/epel-release-6-8.noarch.rpm
#  rpm -i epel-release-6-8.noarch.rpm

Langkah 2 : Masukan owncloud terkini kedalam repo
http://owncloud.org/install/
# wget http://download.opensuse.org/repositories/isv:ownCloud:community/CentOS_CentOS-6/isv:ownCloud:community.repo

Langkah 3 : Pasangkan owncloud
# yum install owncloud

1. https://fedoraproject.org/wiki/EPEL

Selasa, November 12, 2013

TUTORIAL : MINIMAL UBUNTU DESKTOP VIA UBUNTU SERVER INSTALLATION

1. Download ISO Ubuntu Server dan pasang pada komputer anda.
2. Pasang pakej "ubuntu desktop" tanpa "recommend" pada ubuntu server anda.
$ sudo apt-get install --no-install-recommends ubuntu-desktop
3. Akhir sekali, pasangkan "Desktop Enviroment" anda (pilih salah satu sahaja)
> Minimal KDE Desktop (KUBUNTU)
$ sudo apt-get install --no-install-recommends kubuntu-desktop

> Minimal XFCE Desktop (XUBUNTU)
$ sudo apt-get install --no-install-recommends xubuntu-desktop

> Minimal LXDE Desktop (LUBUNTU)
$ sudo apt-get install lubuntu-desktop

Siap! Sekarang Ubuntu anda berfungsi dengan pakej yang minimal. Seterusnya terpulang pada anda untuk membuat pemasangan aplikasi yang lain. Adios!

Linux : Semak maklumat RAM

black@b0x ~ $ sudo dmidecode -t 17
# dmidecode 2.11
SMBIOS 2.7 present.

Handle 0x0036, DMI type 17, 34 bytes
Memory Device
    Array Handle: 0x0035
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 4096 MB
    Form Factor: SODIMM
    Set: None
    Locator: ChannelA-DIMM0
    Bank Locator: BANK 0
    Type: DDR3
    Type Detail: Synchronous
    Speed: 1600 MHz
    Manufacturer: Samsung
    Serial Number: 00V89ED2
    Asset Tag: 9176843213
    Part Number: X971B5233DH0-CL0  
    Rank: Unknown
    Configured Clock Speed: 1600 MHz

Handle 0x0037, DMI type 17, 34 bytes
Memory Device
    Array Handle: 0x0035
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 4096 MB
    Form Factor: SODIMM
    Set: None
    Locator: ChannelB-DIMM0
    Bank Locator: BANK 2
    Type: DDR3
    Type Detail: Synchronous
    Speed: 1600 MHz
    Manufacturer: Samsung
    Serial Number: 0Z7U9RA3
    Asset Tag: 9876543210
    Part Number: M481BT173DH0-CL0  
    Rank: Unknown
    Configured Clock Speed: 1600 MHz

Sabtu, Oktober 19, 2013

Fix - E: Could not get lock /var/lib/apt/lists/lock – open (11: Resource temporarily unavailable)

Contoh :
root@asus:/home/sexy# apt-get update
E: Could not get lock /var/lib/apt/lists/lock – open (11: Resource temporarily unavailable)

Penyelesaian:
root@asus:/home/sexy# fuser -vki /var/lib/apt/lists/lock

Ahad, September 08, 2013

FIX - E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)

Nak update linux/GNU tapi ada masalah macamni pula :
w0ndergirl@k-pop ~ $ sudo apt-get update 
[sudo] password for w0ndergirl: 
E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/

Cara nak baiki mudah sahaja. Cari aplikasi yang bermasalah dan buang dari sistem anda. Contohnya dalam kes saya ialah Fern-Wifi-Cracker yang bermasalah dan tidak stabil. Kenalpasti melalui arahan melalui terminal "dpkg --configure -a" sebagai mod root :

w0ndergirl@k-pop ~ $ sudo -s
k-pop ~ # dpkg --configure -a
dpkg: dependency problems prevent configuration of fern-wifi-cracker:
 fern-wifi-cracker depends on aircrack-ng; however:
  Package aircrack-ng is not installed.
 fern-wifi-cracker depends on subversion; however:
  Package subversion is not installed.

dpkg: error processing fern-wifi-cracker (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 fern-wifi-cracker


Tugas anda ialah membuang aplikasi tersebut dengan arahan "apt-get remove <nama_aplikasi>" sebagai mod root. Sekian

Ahad, Ogos 18, 2013

SQL Injection Finder

Bash file :
#!/bin/bash
# NAME:SQLi finder
# AUTHOR: "XNOD_DIE" 
#don't  change author.. #
#warna
###############
green=$(printf "\033[32m")
red='\e[1;31m'
yellow='\e[1;33m'
################

echo "SQLi finder"
echo "Automated scan same hosting"
echo "collaboration : ritx with nmap-6.01"
echo -e $red" o   o o   o  o-o  o-o        o-o   o-O-o o--o
 \ /  |\  | o   o |  \       |  \    |   |   
  O   | \ | |   | |   O      |   O   |   O-o 
 / \  |  \| o   o |  /       |  /    |   |   
o   o o   o  o-o  o-o        o-o   o-O-o o--o
                        o---o"



echo "=============================================================="
echo ""
echo "exam: blabla.com"
    echo -ne $yellow "input your target: "
    read target
echo ""
if [ -d $target ]; then
    echo "Please Input your target"
else
    perl ritx.pl -t $target -o xnod.txt
fi
FILENAME=xnod.txt
count=1
cat $FILENAME | while read LINE
do
echo -e $yellow "Scanning Vuln SQLi $LINE"
echo -ne 'please wait...'
echo -ne '\n'
if nmap -Pn --script sql-injection $LINE|grep sqlspider 
then
echo  -e $red  "****************************************"
echo "$count $LINE SQLi Found"
echo "****************************************"
else
echo -e $green "***************************************"
echo -e $green"$count $LINE Not Found SQLi" 
echo "***************************************"
fi
      let count++
done
echo -e $red"do you want to exit?"
select yn in "Yes" ; do
    case $yn in
        Yes )exit;;
   
    esac
done

Perl file:
#!/usr/bin/env perl

# RitX - Reverse IP Tool v1.6
# Copyright (C) 2009-2013
# r0b10S-12 <r12xr00tu@gmail.com>

use LWP::Simple;
use Socket;
use Getopt::Long;


# check missing modules...
my @Modules = ("threads","LWP::ConnCache","HTTP::Cookies");

foreach my $module (@Modules)
{
 my $can = eval "use $module;1;";
    if ($can && $module =~ /threads/)
 {
  # Do processing using threads
  $thread_support = 1;
    }
 elsif(!$can && $module =~ /threads/)
 {
  # Do it without using threads
  $thread_support = 0;
    }
 # The module isn't there
 if ($@ =~ /Can't locate/) {
  die "\n[!!] it seems that some modules are missing...:\n".$@."\n";
 }
}

my $b = $0;
$b =~ s/.*\///;
sub usage {
    print <<HELP;
Usage: perl $b [OPTIONS]
Options:
   -t, --target            Server hostname or IP
   -c, --check             Check extracted domains that are in the same IP address to eleminate cached/old records
   -b, --bing              Save Bing search results to a file
       --bing-api          Bing API key (http://www.bing.com/developers/)
       --vd-api            ViewDNS API key (http://ViewDNS.info/api/)
       --list              List current supported Reverse Ip Lookup websites
       --max               maximum number of pages to fetch (default:10)              
       --print             Print results
       --timeout=SECONDS   Seconds to wait before timeout connection (default 30)
       --user-agent        Specify User-Agent value to send in HTTP requests
       --proxy             To use a Proxy
       --proxy-auth        Proxy authentication information (user:password).
   -o, --output=FILE       Save results to a file (default IP.txt)
   -h, --help              This shity message
   -v, --verbose           Print more informations

   Threads:
   --threads=THREADS       Maximum number of concurrent IP checks (default 1) require --check

HELP
    exit;
}

my %SERV = (
 Myipneighbors =>{
  SITE => "My-ip-neighbors.com",
  URL  => "http://www.my-ip-neighbors.com/?domain=%s",
  REGEX => '<td class="action"\starget="\_blank"><a\shref="http\:\/\/whois\.domaintools\.com\/(.*?)"\starget="\_blank"\sclass="external">Whois<\/a><\/td>',
 },
 Yougetsignal =>{
  SITE => "Yougetsignal.com",
  DATA => 'remoteAddress',
  URL  => "http://www.yougetsignal.com/tools/web-sites-on-web-server/php/get-web-sites-on-web-server-json-data.php",
  SP  => 'Yougetsignal()',
 },
 Pagesinventory =>{
  SITE => "Pagesinventory.com",
  URL  => "http://www.pagesinventory.com/ip/%s-%d.html",
  SP  => 'Pagesinventory()',
 },
 Myiptest =>{
  SITE => "Myiptest.com",
  URL  => "http://www.myiptest.com/staticpages/index.php/Reverse-IP/%s",
  REGEX => "<td style='width:200px;'><a href='http:\/\/www\.myiptest\.com\/staticpages\/index\.php\/Reverse-IP\/.*?'>(.*?)<\/a><\/td>",
 },
 WebHosting =>{
  SITE => "Whois.WebHosting.info",
  URL  => "http://whois.webhosting.info/%s?pi=%d&ob=SLD&oo=DESC",
  SP  => 'Whoiswebhosting()',
 },
 Domainsbyip =>{
  SITE => 'Domainsbyip.com',
  URL  => 'http://domainsbyip.com/%s/', 
  REGEX => '<li class="site.*?"><a href="http\:\/\/domainsbyip.com\/domaintoip\/(.*?)/">.*?<\/a>',
 },
 Ipadress =>{
  SITE => "Ip-adress.com",
  URL  => "http://www.ip-adress.com/reverse_ip/%s",
  REGEX => '<td style\=\"font\-size\:8pt\">.\n\[<a href="\/whois\/(.*?)">Whois<\/a>\]',
 },
 Bing =>{
  SITE => "Bing.com",
  URL  => 'https://api.datamarket.azure.com/Data.ashx/Bing/Search/v1/Web?Query=\'ip:%s\'&$top=50&$format=json&$skip=%d',
  SP  => 'BingAPI()',
 },
 ewhois =>{
  SITE => "Ewhois.com",
  URL  => "http://www.ewhois.com/",
  SP  => 'eWhois()',
 },
 Sameip =>{
  SITE => "Sameip.org",
  URL  => "http://sameip.org/ip/%s/",
  REGEX => '<a href="http:\/\/.*?" rel=\'nofollow\' title="visit .*?" target="_blank">(.*?)<\/a>',
 },
 Robtex =>{
  SITE => "Robtex.com",
  URL  => "http://www.robtex.com/ajax/dns/%s.html",
  REGEX => "<span id=\"dns.*?\"><a href=\"\/\/dns\.robtex\.com\/(.*?)\.html\"  >",
 },
 Webmax =>{
  SITE => "Tools.web-max.ca",
  URL  => "http://ip2web.web-max.ca/?byip=1&ip=%s",
  REGEX => '<a href="http:\/\/.*?" target="_blank">(.*?)<\/a>',
 },
 DNStrails =>{
  SITE => "DNStrails.com",
  URL  => "http://www.DNStrails.com/tools/lookup.htm?ip=%s&date=recent",
  REGEX => 'date=recent">(.*?)<\/a>\s\(as\sa\swebserver\)',
 },
 Viewdns =>{
  SITE => "Viewdns.info",
  URL  => "http://pro.viewdns.info/reverseip/?host=%s&apikey=%s&output=json",
  SP  => "ViewDNS()"
 }
);

my @useragents = ('Mozilla/6.0 (Windows NT 6.2; WOW64; rv:16.0.1) Gecko/20121011 Firefox/16.0.1',
'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:16.0.1) Gecko/20121011 Firefox/16.0.1',
'Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:16.0.1) Gecko/20121011 Firefox/16.0.1',
'Mozilla/5.0 (Windows NT 6.1; rv:15.0) Gecko/20120716 Firefox/15.0a2',
'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.16) Gecko/20120427 Firefox/15.0a1',
'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20120427 Firefox/15.0a1',
'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:15.0) Gecko/20120910144328 Firefox/15.0.2',
'Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:15.0) Gecko/20100101 Firefox/15.0.1',
'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:14.0) Gecko/20120405 Firefox/14.0a1',
'Mozilla/5.0 (Windows NT 6.1; rv:14.0) Gecko/20120405 Firefox/14.0a1',
'Mozilla/5.0 (Windows NT 5.1; rv:14.0) Gecko/20120405 Firefox/14.0a1',
'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.66 Safari/535.11',
'Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.66 Safari/535.11',
'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.66 Safari/535.11',
'Mozilla/5.0 (Windows NT 6.2) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.66 Safari/535.11',
'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.66 Safari/535.11',
'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.66 Safari/535.11',
'Mozilla/5.0 (Windows NT 6.0; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.66 Safari/535.11',
'Mozilla/5.0 (Windows NT 6.0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.66 Safari/535.11',
'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.66 Safari/535.11',
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.66 Safari/535.11',
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.66 Safari/535.11',
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.66 Safari/535.11',
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_5_8) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.66 Safari/535',
'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.11 (KHTML, like Gecko) Ubuntu/11.10 Chromium/17.0.963.65 Chrome/17.0.963.65 Safari/535.11',
'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.11 (KHTML, like Gecko) Ubuntu/11.04 Chromium/17.0.963.65 Chrome/17.0.963.65 Safari/535.11',
'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.11 (KHTML, like Gecko) Ubuntu/10.10 Chromium/17.0.963.65 Chrome/17.0.963.65 Safari/535.11',
'Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.11 (KHTML, like Gecko) Ubuntu/11.10 Chromium/17.0.963.65 Chrome/17.0.963.65 Safari/535.11',
'Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.65 Safari/535.11',
'Mozilla/5.0 (X11; FreeBSD amd64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.65 Safari/535.11',
'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.65 Safari/535.11',
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.65 Safari/535.11',
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.65 Safari/535.11',
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_4) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.65 Safari/535.11');

# Process options.
my ($target,$timeout,$threadz,$check,$print,$bing,$proxy,$proxy_auth,$useragent,$filename,$verbose,$max);

if ( @ARGV > 0 )
{
 GetOptions( 't|target=s' => \$target,
    'timeout=i'  => \$timeout,
    'threads=i'  => \$threadz,
    'max=i'   => \$max,
    'c|check'  => \$check,
    'print'   => \$print,
    'list'    => \&list_serv,
    'bing-api=s' => \$bing_api,
    'vd-api=s'  => \$vd_api,
    'b|bing'  => \$bing,
    'proxy=s'  => \$proxy,
    'proxy-auth=s' => \$proxy_auth,
    'user-agent' => \$useragent,
    'o|output=s' => \$filename,
    'v|verbose'  => \$verbose,
    'h|help'  => \&usage) or exit;
}
else
{
 print "[*] Usage    : perl $b [OPTIONS]\n";
 print "    EXEMPLE  : perl $b -t www.target.com -o result.txt\n\n";
 print "[*] Try 'perl $b -h' for more options.\n";
 exit;
}


if($^O =~ /MSWin32|cygwin/ and ($threadz>10))
{
 print "\n[-] Sorry, maximum number of used threads is 10 for Windows to avoid some possible connection and performance issues\n\n";
 exit;
}

if ($target =~ /\d+.\d+.\d+.\d+/)
{
 # nice do nothing
}
elsif ($target =~ /([a-z][a-z0-9\-]+(\.|\-*\.))+[a-z]{2,6}$/)
{
 my $IP = getIP($target);
 if ($IP)
 {
  $target = $IP;
 }
 else
 {
  die "\n[!!] Unable to Resolve Host $target ! \n";
 }
}
else
{
 die "[-] Invalid Hostname or Ip address .\n";
}


my $DNSx = gethostbyaddr(inet_aton($target),AF_INET);
# Check if the target uses CloudFlare service
my $IPx = unpack("N",inet_aton($target));

#https://www.cloudflare.com/ips-v4
if(($IPx >= 3324641278 and $IPx <= 3324608512)
or ($IPx >= 3161612288 and $IPx <= 3161616382)
or ($IPx >= 3193827328 and $IPx <= 3193831422)
or ($IPx >= 1822605312 and $IPx <= 1822621694)
or ($IPx >= 2372222976 and $IPx <= 2372239358)
or ($IPx >= 1729546240 and $IPx <= 1729547262)
or ($IPx >= 2918526976 and $IPx <= 2918531070)
or ($IPx >= 3340468224 and $IPx <= 3340470270)
or ($IPx >= 3428692224 and $IPx <= 3428692478)
or ($IPx >= 3428708352 and $IPx <= 3428708606)
)
{
 print "[WARNING] The target uses CloudFlare's service!!\n\n";
 print "[!] do you wanna continue? [y/n]:";
 my $choice=<STDIN>;
 chop($choice);
 if($choice eq "n")
 {
  print "\n[*] You made the right choice!!\n\n";
  exit;
 }
 else
 {
  print  "[+] OK! as you like\n";
 }
}



# Global variables
$bingApiKey  = $bing_api || 'y+WsWbJTyl/93GXbvGXo7kXbB3nxrEz2kExRstXOI84=';#get your own code :p
$VERSION     = '1.6';
$TMPdir      = "tmp";
$useragent ||= $useragents[int(rand(scalar(@useragents)))]; #take a random user agent
$filename  ||= "$target.txt";
$timeout   ||= 30;
$max       ||= 10;
$SIG{INT}    = \&trapsig;

mkdir $TMPdir or die "[-] Cant create tmp directory!\n" if ! -d $TMPdir;

if(!$vd_api)
{
 delete $SERV{Viewdns};
}


my $ua = LWP::UserAgent->new(agent => $useragent);
$ua->timeout($timeout);
$ua->max_redirect(0);
$ua->conn_cache(LWP::ConnCache->new());
$ua->default_header('Referer' => "http://www.google.com/#q=a".int(rand(5)*rand(5)));#fake Referer


$|++;
if ($proxy)
{
 $proxy .= ":8080" if not $proxy =~ /:/;
 # connect to the proxy
 my $req = HTTP::Request->new(CONNECT => 'http://'.$proxy.'/' );
 if (defined $proxy_auth)
 {
  my ($user,$password)=split(":",$proxy_auth);
  $req->proxy_authorization_basic($user, $password);
 }
 my $res = $ua->request($req);
 # connection failed
 if ( not $res->is_success ){
  print "\n[-] failed to connect to the proxy... ignore it\n\n";
 }
 else
 {
  $ua->proxy(http => "http://$proxy/");
 }
}

print "\n[*] This process will take a little time so be patient...\n\n";
print "[*] Processing:\n";

### Functions

sub list_serv
{
 print "[*] List of available Reverse Ip Lookup services:\n\n";
 foreach $X (keys %SERV)
 {
  print "    -> $SERV{$X}->{SITE}\n";
 }
 print "\n";
 exit(0);
}

sub trapsig 
{
 print "\n\n[!!] Caught Interrupt (CTRL+C), Aborting\n";
 print "[!!] Saving results\n";
 save_report($filename);
 exit();
}
sub add
{
 my $x = lc($_[0]);
 ($x =~ /[\<\"]|freecellphonetracer|reversephonedetective|americanhvacparts|freephonetracer|phone\.addresses|reversephone\.theyellowpages|\.in-addr\.arpa|^\d+(\.|-)\d+(\.|-)/) ? return:0;
 push(@{$SERV{$X}->{DUMP}},$x) if($verbose);
 $x =~ s/http(.|s)\:\/\/|\*\.|^www\.|\///;#
 ++$SERV{$X}->{NB};
 push(@result,$x);
}
sub getIP
{
 my @ip = unpack('C4',(gethostbyname($_[0]))[4]) or return;
 return join('.',@ip);
}

sub getDNS
{
 return gethostbyaddr(inet_aton($_[0]),AF_INET);
}

sub Req
{
 my ($URL,$data)=@_;
 my $res;
 if(!$data)
 {
  $res = $ua->get($URL);
 }
 else
 {
  $res = $ua->post($URL, 
  {
   $data => $target,
  });
 }
 if(!$res->is_success)
 {
  print "[!] Error: ".$res->status_line."\n" if ($verbose);
 }
 return $res->content;
}

sub Yougetsignal
{
 my $resu = Req(sprintf($SERV{$X}->{URL},$target),$SERV{$X}->{DATA});
 while ($resu =~ m/\["(.*?)\"\, \"(1|)\"\]/g)
 {
  add($1);
 }
 if ($resu =~ m/Daily reverse IP check limit reached for/i)
 {
  $ERROR = "E1";
  $SERV{$X}->{NB} = $ERROR;
 }
}

sub ViewDNS
{
 my %hash = ();
 $repjson = Req(sprintf($SERV{$X}->{URL},$target,$vd_api));
 return if($repjson =~ /"domain_count" : "0"/);
 $repjson =~ s/\" \:/\" =>/g;
 $hashs = eval($repjson);
 foreach $s (@{$hashs->{response}{domains}})#yeah it could be done in another way but whatever
 {
  add($s->{name});
 }
 #$hashs->{response}{domains}[0]{name};
}


sub eWhois
{
 sub callback 
 {
  while($_[0] =~ m/"(.*?)","","","(UA\-[0-9]+\-[0-9]+|)",""/g)
  {
   add($1);
  }
 }
 my $url = "http://www.ewhois.com/export/ip-address/$target/";
 my $cookie_jar = HTTP::Cookies->new(autosave => 1);
 my $browser = LWP::UserAgent->new(agent => $useragent);
 $browser->cookie_jar($cookie_jar);
 my $resu = $browser->post("http://www.ewhois.com/login/",
 {
  'data[User][email]'=>'r12xr00tu@gmail.com',
  'data[User][password]'=>'RitX:::R1tX',#I've made it for you, so don't be an ass
  'data[User][remember_me]'=>'0'
 });
 if(!$resu->header('Location'))
 {
  print "[-] Sorry, we cant login to eWhois!\n";
  return;
 }
 $browser->get($url, ':content_cb' => \&callback );
}

sub Pagesinventory
{
 for (my $i=0;$i<=$max;$i++)
 {
  my $resu = Req(sprintf($SERV{$X}->{URL},$target,$i));

  if ($resu =~ m/<td>\.\.\.<\/td><\/table><div class="ntb-div">/g)
  {
   while ($resu =~ m/<td><a href="\/domain\/(.*?)\.html">/g)
   {   
    add($1);
   }
  }
  else
  {
   while ($resu =~ m/<td><a href="\/domain\/(.*?)\.html">/g)
   {
    add($1);
   }
   return;
  }
 }

}


sub Whoiswebhosting
{
 for (my $i=1;$i<=$max;$i++)
 {
  my $resu = Req(sprintf($SERV{$X}->{URL},$target,$i));
  if ($resu =~ m/<a href=\"\/.*?\?pi\=\d+\&ob\=SLD\&oo\=DESC\">Next\&nbsp\;\&gt\;\&gt\;<\/a>/g)
  {
   while ($resu =~ m/<td><a href="http:\/\/whois\.webhosting\.info\/.*?\.">(.*?)\.<\/a><\/td>/g)
   {
    add($1);
   }
  }
  else
  {
   while ($resu =~ m/<td><a href="http:\/\/whois\.webhosting\.info\/.*?\.">(.*?)\.<\/a><\/td>/g)
   {
    add($1);
   }
   if ($resu =~ m/The security key helps us prevent automated searches/i)
   {
    $ERROR = "E2";
    $SERV{$X}->{NB} = $ERROR;
    return;
   }
  }
 }
}


sub BingAPI
{
 my $b;
 use MIME::Base64 qw(encode_base64);

 for(my $offset=50;$offset<=($max*50);$offset+=50)
 {
  $resu = $ua->get(sprintf($SERV{$X}->{URL},$target,$offset),"Authorization" => 'Basic '.encode_base64($bingApiKey.":".$bingApiKey))->content;
  if ($resu =~ /\_\_next\"\:/)
  {
   while ($resu =~ /\,\"Url\"\:\"(.*?)\"\}/g)
   {
    $b = $1;
    push(@bingtrash,$b) if $bing;
    $b =~ s/\/.*// if index($b,"/");
    add($b);
   }
  }
  else
  {
   return;
  }
 }
}

sub add2tmp
{
 syswrite(TMP,gethostbyaddr(inet_aton($_[0]),AF_INET).":$_[0];");
}


sub checkDomain
{
 if(getDNS('www.'.$_[0]) eq $DNSx)
 {
  $NEWNB++;
  print "    Found : $_[0]\n";
  push(@resx,'www.'.$_[0]);
 }
 elsif(getDNS($_[0]) eq $DNSx)
 {
  print "    Found : $_[0]\n";
  $NEWNB++;
  push(@resx,$_[0]);
 }
 else
 {
  print "    Try : $_[0]\n";
 }
}

sub save_report
{
 my $filen = $_[0];
 if($donecheck && $threadz && $thread_support)
 {
  open (IN,"./$TMPdir/RitX-tmp.txt") or print ("\n[!] Can't create the file ($filen)\n");
  open (OUT,">$target-checked.txt") or print ("\n[!] Can't create the file ($filen)\n");
  while(<IN>)
  {
   chomp;
   if (index($_,$DNSx))
   {
    $NEWNB++;
    s/$DNSx://; 
    syswrite(OUT,"$_\n");
   }
  }
  close(IN);
  close(OUT);
 }
 elsif($donecheck && !$threadz)
 {
  open (OUT,">$target-checked.txt") or print ("\n[!] Can't create the file ($filen)\n");
  foreach (@resx)
  {
   syswrite(OUT,"$_\n") if ($_);
  }
  close(OUT);
 }
 open (F,">$filen") or print ("\n[!] Can't create the file ($filen)\n");
 foreach(@result)
 {
  syswrite(F,"$_\n") if ($_);
 }
 close(F);
}


#----------#
foreach $X (keys %SERV)
{
 my $match = $SERV{$X}->{REGEX};
 syswrite(STDOUT,"   -> $SERV{$X}->{SITE}\n");
 if(!$SERV{$X}->{SP})
 {
  $res=Req(sprintf($SERV{$X}->{URL},$target),$SERV{$X}->{DATA});
 }
 else
 {
  eval($SERV{$X}->{SP});
  next;
 }
 while($res =~ m/$match/g)
 {
  add($1);
 }
}

die "\n\n[-] Sorry, there is no data were retrieved!\n" if(scalar(@result)<1);

@result = sort(grep { ++$R12{$_} < 2 } @result);
undef(%R12);#useless

$TOTALNB = scalar(@result);

if($verbose)
{
 print "\n[+] DEBUG:\n\n";
 foreach $X (keys %SERV)
 {
  syswrite(STDOUT,"  + $SERV{$X}->{SITE}\n");
  foreach $DMP (@{$SERV{$X}->{DUMP}})
  {
   syswrite(STDOUT,"    - $DMP\n");
  }
 }
}

if($bing)
{
 if (scalar(@bingtrash)>0)
 {
  syswrite(STDOUT,"[+] saving Bing results...  ");
  my $file = "bingresults-$target.txt";
  open (BING,">$file") or print ("\n[!] Can't create bing results\n");
  print BING "# Genereted By RitX $VERSION\n# Those are all search results from Bing.com ($target).\n\n";
  foreach (@bingtrash)
  {
   print BING "$_\n";
  }
  close(BING);
  syswrite(STDOUT,"DONE\n");
  print "[+] bing results were saved into $file\n";
 }
 else
 {
  print "\n[-] no bing data!!\n\n"
 }
}

if ($check)
{
 my ($domain,$t);
 print "\n[x] Checking and removing old records from results\n";
 if ($threadz && $thread_support)
 {
  open(TMP,">./$TMPdir/RitX-tmp.txt");
  TMP->autoflush(1);
  foreach (@result)
  {
   threads->create(\&add2tmp,"www.$_")->detach;
   $t++;
   if($t==$threadz)
   {
    $s+=$t;
    print "\r passed $s";
    undef $t;
    sleep 1;
   }
  }
  close(TMP);
 }
 else
 {
  print "[-] Sorry your PERL installation doesn't support threads!\n\n" if !$thread_support;
  &checkDomain($_) foreach (@result);
 }
 $donecheck = 1;
 print "[+] Done\n";
}
&save_report($filename);


print "\n[x] Result of $target : \n\n";

print "                        +--------+\n                        |   NB   |\n+-----------------------+--------+\n";
foreach $X (keys %SERV)
{
 printf "| %-22s| %-7s|\n",$SERV{$X}->{SITE},(($SERV{$X}->{NB}) ? $SERV{$X}->{NB} : 0);
 print "+--------------------------------+\n";
}
printf "  %-14s| Total | %-7s|\n"," ",$TOTALNB;
print "                +----------------+\n";
print "[+] After removing old records : $NEWNB\n\n" if $donecheck;

if ($ERROR)
{

}
if ($TOTALNB != 0 and $print)
{
 print "[+] Results:\n";
 my $v = 0;
 foreach my $RD (@result)
 {
  $v++;
  print "  $RD\n";
  if($v==20){<STDIN>;undef $v};
 }
}
print "[+] All checked domains are saved to ($target-checked.txt)\n" if ($NEWNB>0);

Selasa, Ogos 13, 2013

Tutorial : Cara membaiki MPLAYER pada terminal tak mengeluarkan bunyi apabila memainkan fail audio

Pernah menghadapi masalah mplayer tidak mengeluarkan audio bila memainkan fail diterminal ? Ingin tahu cara membaikinya? Mudah sahaja, edit konfigurasi fail di :
~/.mplayer/config 
ataupun di ( ada beza ke antara mplayer dan mplayer2 ??)
~/.mplayer2/config 
Sila tambah setting seperti dibawah dan simpan.
# use alsa for audio output
ao=alsa
Sekian

Isnin, Ogos 12, 2013

Bash : Full Circle Magazine Downloader



#!/bin/bash
echo -n "No. pertama edisi Majalah yang ingin Anda download? "
read firstissue

echo ""
echo -n "No. terakhir edisi yang ingin Anda download? ( > atau = No. pertama ) "
read lastissue

for a in `seq $firstissue $lastissue`
    do
        wget -U Mozilla "http://dl.fullcirclemagazine.org/issue"$a"_en.pdf"
    done

echo ""
echo "Selesai!"

Jumaat, Ogos 02, 2013

Bash : Random conky startup

#!/bin/bash 
sleep 2
rambang="`cat /home/$USER/.Conky/koleksi | sort --random-sort | head -n 1`"
/usr/bin/conky --config=$rambang
exit 0

Jumaat, Julai 26, 2013

skype: error while loading shared libraries: libGL.so.1

Selepas membuat pemasangan Bumblebee untuk kad grafik Nvidia, aplikasi Skype tak dapat digunakan. Sekiranya kita gunakan terminal untuk menjalankan skype, maklumat ralat yang diterima adalah seperti dibawah:

skype: error while loading shared libraries: libGL.so.1
Dari ralat di atas , menunjukan bahawa libGL.so.1 tak dapat dikesan. Untuk menyelesaikan masalah ini, kita perlu mencari dimana kedudukan libGL.so.1 tersebut, melalui arahan :

user@b0x ~ $ locate libGL.so.1
kemudian cuba gunakan LD_PRELOAD untuk menguji fail rujukan tersebut melalui teknik injection

user@b0x ~ $ LD_PRELOAD=/usr/lib/i386-linux-gnu/mesa/libGL.so.1 skype
Sekiranya berjaya, cipta satu fail baru dengan arahan dan lokasi dibawah:

user@b0x ~ $ sudo nano /etc/ld.so.conf.d/skype.conf
dan masukkan lokasi fail tadi (contoh : /usr/lib/i386-linux-gnu/mesa/ ) dan simpan (save) fail tersebut. Akhir sekali ialah dengan membuat kemaskini fail perpustakaan / rujukan.

user@b0x ~ $ sudo ldconfig -v
Semoga bermanfaat. Wassalam ~

Linux : Tutorial pemasangan BUMBLEBEE untuk linux MINT

Bagi pengguna kad grafik Nvidia pasti akan berhempas pulas untuk memasang driver ke dalam komputer mereka supaya dapat menggunakan kelebihan dan kekuatan nodes kad tersebut .

Linus Torvalds pernah melepaskan geram (sila lihat gambar disebelah) terhadap syarikat Nvidia kerana kurang menyokong untuk membuat proprietary drivers bagi pengguna sistem operasi linux.

Kebanyakkan komputer sekarang sudah didatangkan dengan teknologi hibrid (hybrid) iaitu mempunyai 2 kad grafik. Istilah yang dipanggil untuk mereka yang mempunyai kad tambahan / ke-2 yang mengunakan chipset Nvidia dikenali dengan Nvidia Optimus technology.

Baiklah berikut ialah cara memasang Bumblebee iaitu sistem untuk menggunakan kad Nvidia tersebut (pastikan driver Nvidia telah dipasang terlebih dahulu):
sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
sudo add-apt-repository ppa:bumblebee/stable
sudo apt-get update
sudo apt-get install linux-source linux-headers-generic
sudo apt-get install bumblebee bumblebee-nvidia

Sila restart komputer (init 3) anda dan masukkan arahan tersebut untuk mencuba dan menguji kad anda:
optirun glxspheres
Selamat berjaya..Wassalam~

Rabu, Julai 17, 2013

Linux : Metasploit ProgreSQL startup error


[-] Failed to connect to the database: could not connect to server: Connection refused
    Is the server running on host "localhost" and accepting
    TCP/IP connections on port 7337?

Assalamualaikum dan salam sejahtera, selepas pasang metasploit hari tu, aku belum cuba lagi selepas reboot komputer. Nampaknya ada masalah rupanya bila reboot. Waktu pasang hari tu comel molek je. Aku buat beberapa rujukan. Ada yang cakap pepijat sebab nexpose (aku tak pasang pun), ada cakap kena update dulu, ada cakap kena pasang progresql server. semua tu MENGARUT dan SAMPAH !

Aku cuba dulu cara-cara yang diorang (internet) buat, agak mengarut dan tak berjaya langsung. Maka aku cuba pula dengan inisiatif aku sendiri dan BERJAYA!! Horey!

#1 - Buang startup postgresql daripada update-rc.d
user@b0x:~$ sudo update-rc.d -f postgresql remove
 Removing any system startup links for /etc/init.d/postgresql ...
   /etc/rc0.d/K21postgresql
   /etc/rc1.d/K21postgresql
   /etc/rc2.d/S19postgresql
   /etc/rc3.d/S19postgresql
   /etc/rc4.d/S19postgresql
   /etc/rc5.d/S19postgresql
   /etc/rc6.d/K21postgresql
Kalau ada pasang chkconfig, kamu boleh jalankan arahan ni (alternatif)
sudo chkconfig -s  postgresql off
#2 - Reboot sistem
#3 - Enjoy bersama metasploit !

Baiklah, sampai di sini sahaja, Semoga membantu. Wassalam~

Rabu, Julai 03, 2013

Linux : Bersihkan pakej dan buang segala semak samun

sudo apt-get autoremove
sudo apt-get autoclean

Selasa, Julai 02, 2013

Linux: Tutorial Cara Memasang LAMPP (Linux Apache Mysql Php & Perl)

Assalamualaikum & salam sejahtera, Hari ni aku belajar cara nak pasang LAMPP (Linux Apache Mysql Php & Perl) dalam komputer aku yang menggunakan linux Mint 15. Terasa agak jakun, sebab dah lama aku tak guna linux sebenarnya. Walaupun ada kata lagi bagus pasang pakej secara berasingan dan mudah untuk mod dikemudian hari. Aku rasa dan lebih selesa dengan menggunakan LAMPP sahaja. Al-maklum, aku bukan nak pacak pelayan (server) pun. Guna hanya untuk belajar pengaturcaraan PHP dan buat kerja yang kadang-kadang ada. Haha.. Aku tunjukkan cara pemasangan berasaskan distro debian. Sebab aku guna aptitude, klu distro based redhat tu. Pepandailah ubaha pakai yum. Ok, mari kita mula belajar cara nak pasang LAMPP.

1 - Sekiranya anda menggunakan sistem operasi 64 bit, korang kena pasang dulu depencies ni. Kalau menggunakan sistem operasi 32 bit, sila abaikan langkah 1 ni.
sudo apt-get install ia32-libs

2 - Muat-turun pakej LAMPP ke dalam komputer anda daripada halaman SourceForge. Tapi kalau pandai tahap mentaliti kelas pertama, boleh guna wget je
wget http://jaist.dl.sourceforge.net/project/xampp/XAMPP%20Linux/1.8.2/xampp-linux-1.8.2-0-installer.run

3 - Sekarang tukar mod kepada root
sudo -s

4 - chmod fail tersebut dahulu sebelum guna
chmod +x nama_fail_lampp.run

5 - Apa lagi tunggu. Boleh la execute fail tu
./nama_fail_lampp.run

Bila dah masuk bahagian ni, cuma tinggal klik butang "next-next-install" sahaja. LAMPP akan dipasang di /opt/lampp/lampp. Maknanya pepandailah korang godek direktori ni.

Tambahan :
Mulai LAMPP versi 1.8.2 Beta 2, telah didatangkan sekali dengan GUI manager. Ketikkan arahan dibawah untuk menggunakannya.
sudo /opt/lampp/manager-linux.run

Sekian, terima kasih ~

Sabtu, Jun 29, 2013

Linux : Dimanakah direktori "Pentest" dalam Kali Linux ??

Haih.. pening beb. Puas aku cari, mana hilang semua tool pentest macam BackTrack Linux tu. Rupanya, dalam Kali Linux, direktori tu telah di alih ke tempat lain. Puas aku godek, akhirnya jumpa gak.. semuanya ada kat dalam :
/usr/share
Bolehlah guna macam biasa dan kena biasakan diri dengan struktur baru ni. Sekian semoga bermanfaat ~

Jumaat, Jun 21, 2013

Windows - CMD / Terminal / Shell Edisi Khas

Assalamualaikum & salam sejahtera, di pagi hari yang indah dan berjerebu dengan IPU (Indeks Pencemaran Udara) melebihi nilai 250 di Batu Pahat, Johor ini. Aku menghabiskan masa beberapa minit dengan menatap dihadapan komputer. Rasa agak cemburu pula melihat bash terminal sistem operasi Linux/GNU yang agak ringkas dan menarik berbanding sistem operasi Windows yang sebaliknya. Jadi aku ciptakan terminal aku sendiri berdasarkan daripada idea XAMPP-SHELL. Cuba simpan kod di bawah ni dengan ektensi *.bat dan jalankan pada komputer anda. Anda pasti tertarik dengan hasilnya ;)
@ECHO OFF
cls
:ulangBalik
SET COMMAND=
TITLE 0x2013.blogspot.com - Windows Shell (Special)
chdir
SET /P COMMAND=%username%@%computername% #:
%COMMAND%
GOTO ulangBalik
Anda sepatutnya akan memdapat paparan CMD / terminal / shell seperti dibawah :
C:\Users\user\Desktop
user@USER-PC #:
Selamat mencuba. Wassalam ~

Ahad, Jun 09, 2013

Linux : Cara memasang Aircrack-NG untuk distro Debian/GNU dan variasi Debian (Ubuntu, Mint, Kanotix..etc)

Assalamualaikum & salam sejahtera, Kali ini saya tunjukkan cara untuk memasang aircrack ke dalam komputer yang menggunakan sistem operasi linux Debian/GNU ataupun variasi daripada Debian seperti Mint, Ubuntu, Kanotix dan banyak lagilah. Untuk memasang aircrack-ng, anda harus pastikan depencies yang diperlukan sudah dipasang terlebih dahulu (sila cari sendiri apa itu depencies), namun saya akan tunjukkan cara untuk memasang depencies tersebut. Semua arahan akan dijalankan dengan mod sebagai root.

Langkah 1: Memasang segala depencies yang diperlukan
root@b0x:~# sudo apt-get install gcc g++ libsqlite3-dev build-essential libssl-dev
Langkah 2 : Memuat-turun fail aircrack (Ketika tutorial ini ditulis, versi terkini ialah 1.2 beta 1)
root@b0x:~# wget http://download.aircrack-ng.org/aircrack-ng-1.2-beta1.tar.gz
Langkah 3 : Mengekstrak dan mengkumpil fail tersebut
root@b0x:~# tar -zxvf aircrack-ng-1.2-beta1.tar.gz
root@b0x:~# cd aircrack-ng-1.2-beta1
root@b0x:~# make
root@b0x:~# make install
Langkah 4 : Memasang airolib-ng
root@b0x:~# make sqlite=true unstable=true
root@b0x:~# make install
Langkah 5 : Kemaskini pangkalan data IEEE's OUI
root@b0x:~# airodump-ng-oui-update

Baiklah, semua siap dipasang. Maknanya aircrack boleh digunakan sekarang. Sebenarnya dah 3 tahun aircrack tak dikemas-kini oleh pembangun asal dan akhirnya mengeluarkan kemaskini daripada pembangun pada 25 Mei 2013 lepas. Semoga bermanfaat. Wassalam~

Khamis, Jun 06, 2013

Linux : Cara untuk membuat pakej aplikasi sedia-ada

Assalamualaikum & salam sejahtera, Hari ni aku jumpa satu cara mudah untuk pakejkan balik apa-apa aplikasi yang sedia ada dalam distro linux berasaskan debian. Sebagai contoh distro Oshirix daripada komuniti mambang.org.my, dia ada aplikasi yang dibuat sendiri seperti easywebfilter & easysamba. Jadi macamana nak dapatkan pakej berbentuk .deb untuk dipasang dalam distro lain? Caranya mudah sahaja. Ketikkan arah seperti dibawah :
dpkg-repack easysamba
Harap pembaca dapat memahami kongsep daripada contoh di atas. Semoga bermanfaat. Sekian daripada saya. Wassalam ~

Selasa, Mei 21, 2013

Cara membaiki root:x:0:0:root:/root:/bin/bash^M

Masalah ni muncul apabila tak dapat untuk akses SSH ke server dan bila disemak pada bahagian /etc/passwd dihujungnya menjadi ^M . Contohnya :

root:x:0:0:root:/root:/bin/bash^M

Cara untuk membaiki masalah tersebut:

==============================
1) run as single user
2) fix vi /etc/passwd remove ^M
3) boot up

Sekian dan wassalam ~
Sumber : https://www.facebook.com/LowKey88/posts/4799118298324