Tuesday, July 26, 2011

Dynamically Attaching MULTIPLE Files to Emails in Ruby Using Pony

I struggled with this one a bit, so I figured I'd share it with those that may be in a similar place.  Okay, so here was the goal - obtain the directory listings of a folder (which contained folders named after recipients) and recursively find every file in the recipient folder.  Once a file(s) is found in the corresponding recipient folder, add the file(s) as an attachment to one email.  Pheww, that can take the breath out of a person.  If you have a better way of accomplishing this goal, then please share! :) 

#!/usr/bin/env ruby
require 'pony'
smtp_relay = "smtp_relay.somedomain.com"
name_root = “~/my_mail_list_dir/”
attachment_hash = {}
Dir.entries(name_root).each do |name|
  # Replace message text with name
  msg_body = File.read("~/email_msg.txt").gsub("NAME_OF_PERSON", name)

  # Recurse each name folder and find corresponding files to add as attachments 

  Dir["#{name_root}/#{name}/**"].each do |attachment|
    if File.file?(current_attachment) == true
      current_attachment_name = File.basename(current_attachment)
      attachment_hash["#{current_attachment_name}"] = "#{File.binread(current_attachment)}"
    end
  end

  Pony.mail(
    :to => "destination@domain.com",
    :from => "source@otherdestination.com",
    :subject => "The Subject",
    :body => msg_body,
    :attachments => attachment_hash,
    :via => :smtp,
    # It's important to note that you should use SMTPS (TCP port 465) 

    # whenever possible - I only had a inadequate SMTP (TCP port 25)
    # relay at my disposal at the time of this writing
    :via_options => {
      :address => smtp_relay,
      :port => 25,
      :enable_starttls_auto => false
    }
  )

  # Reset attachments for new owner
  attachment_hash = {}
end


Hope it helps ya! Cheers!

Monday, July 25, 2011

The Beauty of Using "apt-file" whilst Dealing with Dependencies whilst Compiling Software

Let's take an example - compiling hydra.  Hydra is "a very fast network logon cracker which support many different services."  Hydra can be found at:
http://thc.org/thc-hydra/

For this exercise we used the following direct links:
http://www.thc.org/releases/hydra-6.5-src.tar.gz
http://thc.org/thc-hydra/hydra-6.5-fix.diff

Let's get started.  First, install apt-file:

root@hostname:~# apt-get install apt-file
update its database
root@hostname:~# apt-file update
now let the configuring begin:

root@hostname:~# mkdir hydra
root@hostname:~# cd hydra
root@hostname:~/hydra# ls
root@hostname:~/hydra# wget http://www.thc.org/releases/hydra-6.5-src.tar.gz
--2011-07-25 20:47:18--  http://www.thc.org/releases/hydra-6.5-src.tar.gz
Resolving www.thc.org... 199.58.210.16
Connecting to www.thc.org|199.58.210.16|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 633851 (619K) [application/x-gzip]
Saving to: `hydra-6.5-src.tar.gz'

100%[===========================================================================================================>] 633,851      402K/s   in 1.5s   

2011-07-25 20:47:20 (402 KB/s) - `hydra-6.5-src.tar.gz' saved [633851/633851]

root@hostname:~/hydra# wget http://thc.org/thc-hydra/hydra-6.5-fix.diff
--2011-07-25 20:47:28--  http://thc.org/thc-hydra/hydra-6.5-fix.diff
Resolving thc.org... 199.58.210.16
Connecting to thc.org|199.58.210.16|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1671 (1.6K) [text/plain]
Saving to: `hydra-6.5-fix.diff'

100%[===========================================================================================================>] 1,671       --.-K/s   in 0s     

2011-07-25 20:47:29 (129 MB/s) - `hydra-6.5-fix.diff' saved [1671/1671]

root@hostname:~/hydra# ls
hydra-6.5-fix.diff  hydra-6.5-src.tar.gz
root@hostname:~/hydra# tar xzvf hydra-6.5-src.tar.gz
hydra-6.5-src/
hydra-6.5-src/bfg.c
hydra-6.5-src/bfg.h
hydra-6.5-src/CHANGES
hydra-6.5-src/configure
hydra-6.5-src/crc32.c
hydra-6.5-src/crc32.h
hydra-6.5-src/d3des.c
hydra-6.5-src/d3des.h
hydra-6.5-src/dpl4hydra.sh
hydra-6.5-src/dpl4hydra_full.csv
hydra-6.5-src/dpl4hydra_local.csv
hydra-6.5-src/hmacmd5.c
hydra-6.5-src/hmacmd5.h
hydra-6.5-src/hydra-afp.c
hydra-6.5-src/hydra-cisco-enable.c
hydra-6.5-src/hydra-cisco.c
hydra-6.5-src/hydra-cvs.c
hydra-6.5-src/hydra-firebird.c
hydra-6.5-src/hydra-ftp.c
hydra-6.5-src/hydra-gtk/
hydra-6.5-src/hydra-gtk/acconfig.h
hydra-6.5-src/hydra-gtk/aclocal.m4
hydra-6.5-src/hydra-gtk/AUTHORS
hydra-6.5-src/hydra-gtk/autogen.sh
hydra-6.5-src/hydra-gtk/ChangeLog
hydra-6.5-src/hydra-gtk/config.h
hydra-6.5-src/hydra-gtk/config.h.in
hydra-6.5-src/hydra-gtk/configure
hydra-6.5-src/hydra-gtk/configure.in
hydra-6.5-src/hydra-gtk/COPYING
hydra-6.5-src/hydra-gtk/INSTALL
hydra-6.5-src/hydra-gtk/install-sh
hydra-6.5-src/hydra-gtk/Makefile.am
hydra-6.5-src/hydra-gtk/Makefile.in
hydra-6.5-src/hydra-gtk/make_xhydra.sh
hydra-6.5-src/hydra-gtk/missing
hydra-6.5-src/hydra-gtk/mkinstalldirs
hydra-6.5-src/hydra-gtk/NEWS
hydra-6.5-src/hydra-gtk/README
hydra-6.5-src/hydra-gtk/src/
hydra-6.5-src/hydra-gtk/src/callbacks.c
hydra-6.5-src/hydra-gtk/src/callbacks.h
hydra-6.5-src/hydra-gtk/src/interface.c
hydra-6.5-src/hydra-gtk/src/interface.h
hydra-6.5-src/hydra-gtk/src/main.c
hydra-6.5-src/hydra-gtk/src/Makefile.am
hydra-6.5-src/hydra-gtk/src/Makefile.in
hydra-6.5-src/hydra-gtk/src/support.c
hydra-6.5-src/hydra-gtk/src/support.h
hydra-6.5-src/hydra-gtk/stamp-h.in
hydra-6.5-src/hydra-gtk/xhydra.glade
hydra-6.5-src/hydra-gtk/xhydra.gladep
hydra-6.5-src/hydra-http-form.c
hydra-6.5-src/hydra-http-proxy.c
hydra-6.5-src/hydra-http.c
hydra-6.5-src/hydra-icq.c
hydra-6.5-src/hydra-imap.c
hydra-6.5-src/hydra-irc.c
hydra-6.5-src/hydra-ldap.c
hydra-6.5-src/hydra-logo.ico
hydra-6.5-src/hydra-logo.rc
hydra-6.5-src/hydra-mod.c
hydra-6.5-src/hydra-mod.h
hydra-6.5-src/hydra-mssql.c
hydra-6.5-src/hydra-mysql.c
hydra-6.5-src/hydra-ncp.c
hydra-6.5-src/hydra-nntp.c
hydra-6.5-src/hydra-oracle-listener.c
hydra-6.5-src/hydra-oracle-sid.c
hydra-6.5-src/hydra-oracle.c
hydra-6.5-src/hydra-pcanywhere.c
hydra-6.5-src/hydra-pcnfs.c
hydra-6.5-src/hydra-pop3.c
hydra-6.5-src/hydra-postgres.c
hydra-6.5-src/hydra-rexec.c
hydra-6.5-src/hydra-rlogin.c
hydra-6.5-src/hydra-rsh.c
hydra-6.5-src/hydra-sapr3.c
hydra-6.5-src/hydra-sip.c
hydra-6.5-src/hydra-smb.c
hydra-6.5-src/hydra-smtp-enum.c
hydra-6.5-src/hydra-smtp.c
hydra-6.5-src/hydra-snmp.c
hydra-6.5-src/hydra-socks5.c
hydra-6.5-src/hydra-ssh.c
hydra-6.5-src/hydra-svn.c
hydra-6.5-src/hydra-teamspeak.c
hydra-6.5-src/hydra-telnet.c
hydra-6.5-src/hydra-vmauthd.c
hydra-6.5-src/hydra-vnc.c
hydra-6.5-src/hydra-xmpp.c
hydra-6.5-src/hydra.1
hydra-6.5-src/hydra.c
hydra-6.5-src/hydra.h
hydra-6.5-src/INSTALL
hydra-6.5-src/libpq-fe.h
hydra-6.5-src/LICENSE
hydra-6.5-src/LICENSE.OPENSSL
hydra-6.5-src/Makefile.am
hydra-6.5-src/Makefile.unix
hydra-6.5-src/ntlm.c
hydra-6.5-src/ntlm.h
hydra-6.5-src/performance.h
hydra-6.5-src/postgres_ext.h
hydra-6.5-src/pw-inspector-logo.rc
hydra-6.5-src/pw-inspector.1
hydra-6.5-src/pw-inspector.c
hydra-6.5-src/pw-inspector.ico
hydra-6.5-src/README
hydra-6.5-src/sasl.c
hydra-6.5-src/sasl.h
hydra-6.5-src/xhydra.1
hydra-6.5-src/xhydra.png
root@hostname:~/hydra# lls
No command 'lls' found, but there are 16 similar ones
lls: command not found
root@hostname:~/hydra# ^C
root@hostname:~/hydra# ls
hydra-6.5-fix.diff  hydra-6.5-src  hydra-6.5-src.tar.gz
root@hostname:~/hydra# cd hydra-6.5-src/
root@hostname:~/hydra/hydra-6.5-src# ls
bfg.c                hmacmd5.h             hydra-http-form.c   hydra-ncp.c              hydra-sapr3.c      hydra-vnc.c      pw-inspector.1
bfg.h                hydra.1               hydra-http-proxy.c  hydra-nntp.c             hydra-sip.c        hydra-xmpp.c     pw-inspector.c
CHANGES              hydra-afp.c           hydra-icq.c         hydra-oracle.c           hydra-smb.c        INSTALL          pw-inspector.ico
configure            hydra.c               hydra-imap.c        hydra-oracle-listener.c  hydra-smtp.c       libpq-fe.h       pw-inspector-logo.rc
crc32.c              hydra-cisco.c         hydra-irc.c         hydra-oracle-sid.c       hydra-smtp-enum.c  LICENSE          README
crc32.h              hydra-cisco-enable.c  hydra-ldap.c        hydra-pcanywhere.c       hydra-snmp.c       LICENSE.OPENSSL  sasl.c
d3des.c              hydra-cvs.c           hydra-logo.ico      hydra-pcnfs.c            hydra-socks5.c     Makefile.am      sasl.h
d3des.h              hydra-firebird.c      hydra-logo.rc       hydra-pop3.c             hydra-ssh.c        Makefile.unix    xhydra.1
dpl4hydra_full.csv   hydra-ftp.c           hydra-mod.c         hydra-postgres.c         hydra-svn.c        ntlm.c           xhydra.png
dpl4hydra_local.csv  hydra-gtk             hydra-mod.h         hydra-rexec.c            hydra-teamspeak.c  ntlm.h
dpl4hydra.sh         hydra.h               hydra-mssql.c       hydra-rlogin.c           hydra-telnet.c     performance.h
hmacmd5.c            hydra-http.c          hydra-mysql.c       hydra-rsh.c              hydra-vmauthd.c    postgres_ext.h
root@hostname:~/hydra/hydra-6.5-src# ./configure

Starting hydra auto configuration ...
Detected 64 Bit Linux OS

Checking for openssl (libssl, libcrypto, ssl.h, sha.h) ...
                                                       ... found
Checking for idn (libidn.so) ...
                             ... found
Checking for pcre (libpcre.so, pcre.h) ...
                                       ... found
Checking for Postgres (libpq.so, libpq-fe.h) ...
                                             ... found
Checking for SVN (libsvn_client-1 libapr-1.so libaprutil-1.so) ...
                                                               ... NOT found, module svn disabled
Checking for firebird (libfbclient.so) ...
                                       ... NOT found, module firebird disabled
Checking for MYSQL client (libmysqlclient.so, math.h) ...
                                                      ... found
Checking for AFP (libafpclient.so) ...
                                   ... NOT found, module Apple Filing Protocol disabled - Apple sucks anyway
Checking for NCP (libncp.so / nwcalls.h) ...
                                         ... NOT found, module NCP disabled
Checking for SAP/R3 (librfc/saprfc.h) ...
                                      ... NOT found, module sapr3 disabled
Get it from http://www.sap.com/solutions/netweaver/linux/eval/index.asp
Checking for libssh (libssh/libssh.h) ...
                                      ... NOT found, module ssh disabled
Get it from http://www.libssh.org
Checking for Oracle (libocci.so libclntsh.so / oci.h) ...
                                                      ... NOT found, module Oracle disabled
Checking for GUI req's (pkg-config, gtk+-2.0) ...
                                              ... found

Hydra will be installed into .../bin of: ~
  (change this by running ./configure --prefix=path)

Writing Makefile.in ...
now type "make"
root@hostname:~/hydra/hydra-6.5-src# apt-file search libsvn_client-1
libsvn-dev: /usr/lib/libsvn_client-1.a
libsvn-dev: /usr/lib/libsvn_client-1.la
libsvn-dev: /usr/lib/libsvn_client-1.so
libsvn1: /usr/lib/libsvn_client-1.so.1
libsvn1: /usr/lib/libsvn_client-1.so.1.0.0
root@hostname:~/hydra/hydra-6.5-src# ainstall libsvn-dev
Reading package lists... Done
Building dependency tree      
Reading state information... Done
Suggested packages:
  libsvn-doc libneon27-gnutls-dev
The following NEW packages will be installed:
  libsvn-dev
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,207 kB of archives.
After this operation, 4,686 kB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu/ natty-updates/main libsvn-dev amd64 1.6.12dfsg-4ubuntu2.1 [1,207 kB]
Fetched 1,207 kB in 5s (211 kB/s)      
Selecting previously deselected package libsvn-dev.
(Reading database ... 313175 files and directories currently installed.)
Unpacking libsvn-dev (from .../libsvn-dev_1.6.12dfsg-4ubuntu2.1_amd64.deb) ...
Setting up libsvn-dev (1.6.12dfsg-4ubuntu2.1) ...
root@hostname:~/hydra/hydra-6.5-src# ./configure

Starting hydra auto configuration ...
Detected 64 Bit Linux OS

Checking for openssl (libssl, libcrypto, ssl.h, sha.h) ...
                                                       ... found
Checking for idn (libidn.so) ...
                             ... found
Checking for pcre (libpcre.so, pcre.h) ...
                                       ... found
Checking for Postgres (libpq.so, libpq-fe.h) ...
                                             ... found
Checking for SVN (libsvn_client-1 libapr-1.so libaprutil-1.so) ...
                                                               ... found
Checking for firebird (libfbclient.so) ...
                                       ... NOT found, module firebird disabled
Checking for MYSQL client (libmysqlclient.so, math.h) ...
                                                      ... found
Checking for AFP (libafpclient.so) ...
                                   ... NOT found, module Apple Filing Protocol disabled - Apple sucks anyway
Checking for NCP (libncp.so / nwcalls.h) ...
                                         ... NOT found, module NCP disabled
Checking for SAP/R3 (librfc/saprfc.h) ...
                                      ... NOT found, module sapr3 disabled
Get it from http://www.sap.com/solutions/netweaver/linux/eval/index.asp
Checking for libssh (libssh/libssh.h) ...
                                      ... NOT found, module ssh disabled
Get it from http://www.libssh.org
Checking for Oracle (libocci.so libclntsh.so / oci.h) ...
                                                      ... NOT found, module Oracle disabled
Checking for GUI req's (pkg-config, gtk+-2.0) ...
                                              ... found

Hydra will be installed into .../bin of: ~
  (change this by running ./configure --prefix=path)

Writing Makefile.in ...
now type "make"
root@hostname:~/hydra/hydra-6.5-src# apt-file search libfbclient.so
firebird2.1-dev: /usr/lib/libfbclient.so
firebird2.5-dev: /usr/lib/libfbclient.so
firebird2.5-super-dbg: /usr/lib/debug/usr/lib/libfbclient.so.2.5.0
libfbclient2: /usr/lib/libfbclient.so.2
libfbclient2: /usr/lib/libfbclient.so.2.5.0
root@hostname:~/hydra/hydra-6.5-src# acache firebird2.5-dev
firebird2.5-dev - Development files for Firebird - an RDBMS based on InterBase 6.0 code
root@hostname:~/hydra/hydra-6.5-src# ainstall firebird2.5-dev
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following extra packages will be installed:
  firebird2.5-common firebird2.5-common-doc libfbclient2 libib-util
Suggested packages:
  libfbembed2.5 firebird2.5-examples
The following NEW packages will be installed:
  firebird2.5-common firebird2.5-common-doc firebird2.5-dev libfbclient2 libib-util
0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 929 kB of archives.
After this operation, 3,617 kB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://us.archive.ubuntu.com/ubuntu/ natty/universe firebird2.5-common-doc all 2.5.0.26074-0.ds4-4 [35.1 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu/ natty/universe firebird2.5-common amd64 2.5.0.26074-0.ds4-4 [490 kB]
Get:3 http://us.archive.ubuntu.com/ubuntu/ natty/universe libfbclient2 amd64 2.5.0.26074-0.ds4-4 [335 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu/ natty/universe libib-util amd64 2.5.0.26074-0.ds4-4 [3,866 B]
Get:5 http://us.archive.ubuntu.com/ubuntu/ natty/universe firebird2.5-dev all 2.5.0.26074-0.ds4-4 [65.0 kB]
Fetched 929 kB in 4s (206 kB/s)        
Selecting previously deselected package firebird2.5-common-doc.
(Reading database ... 313257 files and directories currently installed.)
Unpacking firebird2.5-common-doc (from .../firebird2.5-common-doc_2.5.0.26074-0.ds4-4_all.deb) ...
Selecting previously deselected package firebird2.5-common.
Unpacking firebird2.5-common (from .../firebird2.5-common_2.5.0.26074-0.ds4-4_amd64.deb) ...
Selecting previously deselected package libfbclient2.
Unpacking libfbclient2 (from .../libfbclient2_2.5.0.26074-0.ds4-4_amd64.deb) ...
Selecting previously deselected package libib-util.
Unpacking libib-util (from .../libib-util_2.5.0.26074-0.ds4-4_amd64.deb) ...
Selecting previously deselected package firebird2.5-dev.
Unpacking firebird2.5-dev (from .../firebird2.5-dev_2.5.0.26074-0.ds4-4_all.deb) ...
Setting up firebird2.5-common-doc (2.5.0.26074-0.ds4-4) ...
Setting up firebird2.5-common (2.5.0.26074-0.ds4-4) ...
Setting up libfbclient2 (2.5.0.26074-0.ds4-4) ...
Setting up libib-util (2.5.0.26074-0.ds4-4) ...
Setting up firebird2.5-dev (2.5.0.26074-0.ds4-4) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
root@hostname:~/hydra/hydra-6.5-src# acache firebird2.5-dev
^C^[[A^[[A
root@hostname:~/hydra/hydra-6.5-src# ./configure
Starting hydra auto configuration ...
Detected 64 Bit Linux OS

Checking for openssl (libssl, libcrypto, ssl.h, sha.h) ...
                                                       ... found
Checking for idn (libidn.so) ...
                             ... found
Checking for pcre (libpcre.so, pcre.h) ...
                                       ... found
Checking for Postgres (libpq.so, libpq-fe.h) ...
                                             ... found
Checking for SVN (libsvn_client-1 libapr-1.so libaprutil-1.so) ...
                                                               ... found
Checking for firebird (libfbclient.so) ...
                                       ... found
Checking for MYSQL client (libmysqlclient.so, math.h) ...
                                                      ... found
Checking for AFP (libafpclient.so) ...
                                   ... NOT found, module Apple Filing Protocol disabled - Apple sucks anyway
Checking for NCP (libncp.so / nwcalls.h) ...
                                         ... NOT found, module NCP disabled
Checking for SAP/R3 (librfc/saprfc.h) ...
                                      ... NOT found, module sapr3 disabled
Get it from http://www.sap.com/solutions/netweaver/linux/eval/index.asp
Checking for libssh (libssh/libssh.h) ...
                                      ... NOT found, module ssh disabled
Get it from http://www.libssh.org
Checking for Oracle (libocci.so libclntsh.so / oci.h) ...
                                                      ... NOT found, module Oracle disabled
Checking for GUI req's (pkg-config, gtk+-2.0) ...
                                              ... found

Hydra will be installed into .../bin of: ~
  (change this by running ./configure --prefix=path)

Writing Makefile.in ...
now type "make"
root@hostname:~/hydra/hydra-6.5-src# apt-file search libafpclient.so
root@hostname:~/hydra/hydra-6.5-src# apt-file search libncp.so
libncp: /usr/lib/libncp.so
libncp: /usr/lib/libncp.so.2.3
libncp: /usr/lib/libncp.so.2.3.0
root@hostname:~/hydra/hydra-6.5-src# ainstall libncp
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following NEW packages will be installed:
  libncp
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 184 kB of archives.
After this operation, 434 kB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu/ natty/universe libncp amd64 2.2.6-8 [184 kB]
Fetched 184 kB in 2s (83.2 kB/s)
Selecting previously deselected package libncp.
(Reading database ... 313294 files and directories currently installed.)
Unpacking libncp (from .../libncp_2.2.6-8_amd64.deb) ...
Setting up libncp (2.2.6-8) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
/sbin/ldconfig.real: ~/lib/libmapnik.so.0.6 is not a symbolic link

/sbin/ldconfig.real: /opt/rapid7/nexpose/nsc/nxpgsql/pgsql/lib/libpgtypes.so.2 is not a symbolic link

/sbin/ldconfig.real: /opt/rapid7/nexpose/nsc/nxpgsql/pgsql/lib/libecpg.so.5 is not a symbolic link

/sbin/ldconfig.real: /opt/rapid7/nexpose/nsc/nxpgsql/pgsql/lib/libecpg_compat.so.2 is not a symbolic link

/sbin/ldconfig.real: /opt/rapid7/nexpose/nsc/nxpgsql/pgsql/lib/libpq.so.5 is not a symbolic link

root@hostname:~/hydra/hydra-6.5-src# apt-file search saprfc.h
root@hostname:~/hydra/hydra-6.5-src# apt-cache search libssh.h
root@hostname:~/hydra/hydra-6.5-src# apt-file search libssh.h
libssh-dev: /usr/include/libssh/libssh.h
root@hostname:~/hydra/hydra-6.5-src# ainstall libssh-dev
Reading package lists... Done
Building dependency tree      
Reading state information... Done
Suggested packages:
  libssh-doc
The following NEW packages will be installed:
  libssh-dev
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 145 kB of archives.
After this operation, 582 kB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu/ natty/main libssh-dev amd64 0.4.5-3ubuntu1 [145 kB]
Fetched 145 kB in 1s (72.5 kB/s)    
Selecting previously deselected package libssh-dev.
(Reading database ... 313302 files and directories currently installed.)
Unpacking libssh-dev (from .../libssh-dev_0.4.5-3ubuntu1_amd64.deb) ...
Setting up libssh-dev (0.4.5-3ubuntu1) ...
root@hostname:~/hydra/hydra-6.5-src# ls -l
total 1860
-rw-r--r-- 1 nxpgsql  513   7092 2011-07-15 04:17 bfg.c
-rw-r--r-- 1 nxpgsql  513   2125 2011-07-15 04:17 bfg.h
-rw-r--r-- 1 nxpgsql  513  23800 2011-07-15 04:17 CHANGES
-rwxr-xr-x 1 nxpgsql  513  22783 2011-07-15 04:17 configure
-rw-r--r-- 1 nxpgsql  513   5395 2011-07-15 04:17 crc32.c
-rw-r--r-- 1 nxpgsql  513    121 2011-07-15 04:17 crc32.h
-rw-r--r-- 1 nxpgsql  513  16034 2011-07-15 04:17 d3des.c
-rw-r--r-- 1 nxpgsql  513   1651 2011-07-15 04:17 d3des.h
-rw-r--r-- 1 nxpgsql  513 334144 2011-07-15 04:17 dpl4hydra_full.csv
-rw-r--r-- 1 nxpgsql  513 334144 2011-07-15 04:17 dpl4hydra_local.csv
-rwxr-xr-x 1 nxpgsql  513   5860 2011-07-15 04:17 dpl4hydra.sh
-rw-r--r-- 1 nxpgsql  513   4461 2011-07-15 04:17 hmacmd5.c
-rw-r--r-- 1 nxpgsql  513   1489 2011-07-15 04:17 hmacmd5.h
-rw-r--r-- 1 nxpgsql  513   2995 2011-07-15 04:17 hydra.1
-rw-r--r-- 1 nxpgsql  513   4251 2011-07-15 04:17 hydra-afp.c
-rw-r--r-- 1 nxpgsql  513 126282 2011-07-15 04:17 hydra.c
-rw-r--r-- 1 nxpgsql  513   4459 2011-07-15 04:17 hydra-cisco.c
-rw-r--r-- 1 nxpgsql  513   5887 2011-07-15 04:17 hydra-cisco-enable.c
-rw-r--r-- 1 nxpgsql  513   4248 2011-07-15 04:17 hydra-cvs.c
-rw-r--r-- 1 nxpgsql  513   3570 2011-07-15 04:17 hydra-firebird.c
-rw-r--r-- 1 nxpgsql  513   5162 2011-07-15 04:17 hydra-ftp.c
drwxr-xr-x 3 nxpgsql  513   4096 2011-07-15 04:17 hydra-gtk
-rw-r--r-- 1 nxpgsql  513   2659 2011-07-15 04:17 hydra.h
-rw-r--r-- 1 nxpgsql  513   9341 2011-07-15 04:17 hydra-http.c
-rw-r--r-- 1 nxpgsql  513  20516 2011-07-15 04:17 hydra-http-form.c
-rw-r--r-- 1 nxpgsql  513   7057 2011-07-15 04:17 hydra-http-proxy.c
-rw-r--r-- 1 nxpgsql  513   6528 2011-07-15 04:17 hydra-icq.c
-rw-r--r-- 1 nxpgsql  513  17806 2011-07-15 04:17 hydra-imap.c
-rw-r--r-- 1 nxpgsql  513   5990 2011-07-15 04:17 hydra-irc.c
-rw-r--r-- 1 nxpgsql  513  13425 2011-07-15 04:17 hydra-ldap.c
-rw-r--r-- 1 nxpgsql  513  38078 2011-07-15 04:17 hydra-logo.ico
-rw-r--r-- 1 nxpgsql  513     25 2011-07-15 04:17 hydra-logo.rc
-rw-r--r-- 1 nxpgsql  513  23398 2011-07-15 04:17 hydra-mod.c
-rw-r--r-- 1 nxpgsql  513   1914 2011-07-15 04:17 hydra-mod.h
-rw-r--r-- 1 nxpgsql  513   5625 2011-07-15 04:17 hydra-mssql.c
-rw-r--r-- 1 nxpgsql  513  11827 2011-07-15 04:17 hydra-mysql.c
-rw-r--r-- 1 nxpgsql  513   4929 2011-07-15 04:17 hydra-ncp.c
-rw-r--r-- 1 nxpgsql  513  13070 2011-07-15 04:17 hydra-nntp.c
-rw-r--r-- 1 nxpgsql  513   5473 2011-07-15 04:17 hydra-oracle.c
-rw-r--r-- 1 nxpgsql  513   8972 2011-07-15 04:17 hydra-oracle-listener.c
-rw-r--r-- 1 nxpgsql  513   4347 2011-07-15 04:17 hydra-oracle-sid.c
-rw-r--r-- 1 nxpgsql  513   6195 2011-07-15 04:17 hydra-pcanywhere.c
-rw-r--r-- 1 nxpgsql  513   5131 2011-07-15 04:17 hydra-pcnfs.c
-rw-r--r-- 1 nxpgsql  513  16287 2011-07-15 04:17 hydra-pop3.c
-rw-r--r-- 1 nxpgsql  513   3067 2011-07-15 04:17 hydra-postgres.c
-rw-r--r-- 1 nxpgsql  513   2574 2011-07-15 04:17 hydra-rexec.c
-rw-r--r-- 1 nxpgsql  513   3812 2011-07-15 04:17 hydra-rlogin.c
-rw-r--r-- 1 nxpgsql  513   2946 2011-07-15 04:17 hydra-rsh.c
-rw-r--r-- 1 nxpgsql  513   3363 2011-07-15 04:17 hydra-sapr3.c
-rw-r--r-- 1 nxpgsql  513   8279 2011-07-15 04:17 hydra-sip.c
-rw-r--r-- 1 nxpgsql  513  47810 2011-07-15 04:17 hydra-smb.c
-rw-r--r-- 1 nxpgsql  513  12393 2011-07-15 04:17 hydra-smtp.c
-rw-r--r-- 1 nxpgsql  513   6569 2011-07-15 04:17 hydra-smtp-enum.c
-rw-r--r-- 1 nxpgsql  513   5479 2011-07-15 04:17 hydra-snmp.c
-rw-r--r-- 1 nxpgsql  513   4054 2011-07-15 04:17 hydra-socks5.c
-rw-r--r-- 1 nxpgsql  513   4386 2011-07-15 04:17 hydra-ssh.c
-rw-r--r-- 1 nxpgsql  513   5041 2011-07-15 04:17 hydra-svn.c
-rw-r--r-- 1 nxpgsql  513   3328 2011-07-15 04:17 hydra-teamspeak.c
-rw-r--r-- 1 nxpgsql  513   6373 2011-07-15 04:17 hydra-telnet.c
-rw-r--r-- 1 nxpgsql  513   4300 2011-07-15 04:17 hydra-vmauthd.c
-rw-r--r-- 1 nxpgsql  513   6794 2011-07-15 04:17 hydra-vnc.c
-rw-r--r-- 1 nxpgsql  513  16531 2011-07-15 04:17 hydra-xmpp.c
-rw-r--r-- 1 nxpgsql  513     59 2011-07-15 04:17 INSTALL
-rw-r--r-- 1 nxpgsql  513  16964 2011-07-15 04:17 libpq-fe.h
-rw-r--r-- 1 nxpgsql  513  36015 2011-07-15 04:17 LICENSE
-rw-r--r-- 1 nxpgsql  513   8540 2011-07-15 04:17 LICENSE.OPENSSL
-rw-rw-r-- 1 root    root   3678 2011-07-25 20:51 Makefile
-rw-r--r-- 1 nxpgsql  513   3109 2011-07-15 04:17 Makefile.am
-rw-rw-r-- 1 root    root    528 2011-07-25 20:51 Makefile.in
-rw-r--r-- 1 nxpgsql  513     19 2011-07-15 04:17 Makefile.unix
-rw-r--r-- 1 nxpgsql  513  40651 2011-07-15 04:17 ntlm.c
-rw-r--r-- 1 nxpgsql  513   4406 2011-07-15 04:17 ntlm.h
-rw-r--r-- 1 nxpgsql  513   1722 2011-07-15 04:17 performance.h
-rw-r--r-- 1 nxpgsql  513   2021 2011-07-15 04:17 postgres_ext.h
-rw-r--r-- 1 nxpgsql  513   1541 2011-07-15 04:17 pw-inspector.1
-rw-r--r-- 1 nxpgsql  513   4631 2011-07-15 04:17 pw-inspector.c
-rw-r--r-- 1 nxpgsql  513  38078 2011-07-15 04:17 pw-inspector.ico
-rw-r--r-- 1 nxpgsql  513     27 2011-07-15 04:17 pw-inspector-logo.rc
-rw-r--r-- 1 nxpgsql  513  12072 2011-07-15 04:17 README
-rw-r--r-- 1 nxpgsql  513  21201 2011-07-15 04:17 sasl.c
-rw-r--r-- 1 nxpgsql  513   1300 2011-07-15 04:17 sasl.h
-rw-r--r-- 1 nxpgsql  513   1179 2011-07-15 04:17 xhydra.1
-rw-r--r-- 1 nxpgsql  513 218327 2011-07-15 04:17 xhydra.png
root@hostname:~/hydra/hydra-6.5-src# ./configure

Starting hydra auto configuration ...
Detected 64 Bit Linux OS

Checking for openssl (libssl, libcrypto, ssl.h, sha.h) ...
                                                       ... found
Checking for idn (libidn.so) ...
                             ... found
Checking for pcre (libpcre.so, pcre.h) ...
                                       ... found
Checking for Postgres (libpq.so, libpq-fe.h) ...
                                             ... found
Checking for SVN (libsvn_client-1 libapr-1.so libaprutil-1.so) ...
                                                               ... found
Checking for firebird (libfbclient.so) ...
                                       ... found
Checking for MYSQL client (libmysqlclient.so, math.h) ...
                                                      ... found
Checking for AFP (libafpclient.so) ...
                                   ... NOT found, module Apple Filing Protocol disabled - Apple sucks anyway
Checking for NCP (libncp.so / nwcalls.h) ...
                                         ... NOT found, module NCP disabled
Checking for SAP/R3 (librfc/saprfc.h) ...
                                      ... NOT found, module sapr3 disabled
Get it from http://www.sap.com/solutions/netweaver/linux/eval/index.asp
Checking for libssh (libssh/libssh.h) ...
                                      ... found
Checking for Oracle (libocci.so libclntsh.so / oci.h) ...
                                                      ... NOT found, module Oracle disabled
Checking for GUI req's (pkg-config, gtk+-2.0) ...
                                              ... found

Hydra will be installed into .../bin of: ~
  (change this by running ./configure --prefix=path)

Writing Makefile.in ...
now type "make"
root@hostname:~/hydra/hydra-6.5-src# apt-file search libafpclient.so
root@hostname:~/hydra/hydra-6.5-src# apt-file search libncp.so
libncp: /usr/lib/libncp.so
libncp: /usr/lib/libncp.so.2.3
libncp: /usr/lib/libncp.so.2.3.0
root@hostname:~/hydra/hydra-6.5-src# apt-file search nwcalls.h
libncp-dev: /usr/include/ncp/nwcalls.h
root@hostname:~/hydra/hydra-6.5-src# ainstall libncp-dev
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following NEW packages will be installed:
  libncp-dev
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 269 kB of archives.
After this operation, 995 kB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu/ natty/universe libncp-dev amd64 2.2.6-8 [269 kB]
Fetched 269 kB in 2s (105 kB/s)     
Selecting previously deselected package libncp-dev.
(Reading database ... 313315 files and directories currently installed.)
Unpacking libncp-dev (from .../libncp-dev_2.2.6-8_amd64.deb) ...
Processing triggers for man-db ...
Setting up libncp-dev (2.2.6-8) ...
root@hostname:~/hydra/hydra-6.5-src# ./configure
Starting hydra auto configuration ...
Detected 64 Bit Linux OS

Checking for openssl (libssl, libcrypto, ssl.h, sha.h) ...
                                                       ... found
Checking for idn (libidn.so) ...
                             ... found
Checking for pcre (libpcre.so, pcre.h) ...
                                       ... found
Checking for Postgres (libpq.so, libpq-fe.h) ...
                                             ... found
Checking for SVN (libsvn_client-1 libapr-1.so libaprutil-1.so) ...
                                                               ... found
Checking for firebird (libfbclient.so) ...
                                       ... found
Checking for MYSQL client (libmysqlclient.so, math.h) ...
                                                      ... found
Checking for AFP (libafpclient.so) ...
                                   ... NOT found, module Apple Filing Protocol disabled - Apple sucks anyway
Checking for NCP (libncp.so / nwcalls.h) ...
                                         ... found
Checking for SAP/R3 (librfc/saprfc.h) ...
                                      ... NOT found, module sapr3 disabled
Get it from http://www.sap.com/solutions/netweaver/linux/eval/index.asp
Checking for libssh (libssh/libssh.h) ...
                                      ... found
Checking for Oracle (libocci.so libclntsh.so / oci.h) ...
                                                      ... NOT found, module Oracle disabled
Checking for GUI req's (pkg-config, gtk+-2.0) ...
                                              ... found

Hydra will be installed into .../bin of: ~
  (change this by running ./configure --prefix=path)

Writing Makefile.in ...
now type "make"
root@hostname:~/hydra/hydra-6.5-src# apt-file search saprfc.h
root@hostname:~/hydra/hydra-6.5-src# acache sapr3
root@hostname:~/hydra/hydra-6.5-src# acache sapr
root@hostname:~/hydra/hydra-6.5-src# apt-file search libocci.so
root@hostname:~/hydra/hydra-6.5-src# apt-file search libclntsh.so
root@hostname:~/hydra/hydra-6.5-src# apt-file search libclntsh.so
root@hostname:~/hydra/hydra-6.5-src#make && make install

Sunday, July 24, 2011

wreckergrep One-Liner

 find . -iname "<search_pattern>" -print | while read f; do grep -Ril <search_file_content> "$f"; done

OR

#!/bin/bash
# wreckergrep.sh
find . -iname "<search_pattern>" -print | while read f; do
  grep -Ril $1 "$f"
done




Okay,

Now save the file as wreckergrep.sh and change your permissions:
chmod 755 wreckergrep.sh

Use your new utility with the following syntax:

./wreckergrep.sh <search_file_pattern>

So, for example running the one-liner:
 find . -iname "*.py" -print | while read f; do grep -Ril http "$f"; done


Will return every python file containing the search_file_pattern "http"

Hopefully this helps ya out in a pinch ;)


Later skaterz ;)

Script that Rips the Largest Track from DVD and Encodes as AVI from the Command Line

Hello again folks!

Time to share an oldie but goodie - ripping movies from a DVD using Linux via the command line.  This is useful if you're tired of pointing and clicking around GUI rippers, you're working on DVD ripping automation, etc.

This script will grab the largest track from a DVD (i.e. the actual movie) and convert the track to AVI (MPEG-4):

#!/bin/bash
main_feature=`lsdvd | grep "Longest track" | awk '{print $3}'` # Choose the largest track for the main feature
out_file="/home/cerberus/Videos/$1.avi"
if [[ $1 != "" ]]; then
  mencoder dvd://$main_feature -nosub -noautosub -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate="1200" -vf scale -zoom -xy 720 -oac mp3lame -lameopts br=128 -alang en -o $out_file
else
  echo "./rip_dvd_2_avi.sh <name_of_dvd>"
  #echo "Available Tracks are: "
  #lsdvd
fi

Save the file as rip_dvd_2_avi.sh and change the permissions using the following command:

chmod 755 rip_dvd_2_avi.sh


Now, create a Videos folder in your home directory OR change the path of the out_file variable found on line 4 in the bash script above:

mkdir ~/Videos

and last but not least execute your super awesome script:

./rip_dvd_2_avi.sh TheNameofYourDVD

That's it.  Until next time peeps!