Selasa, 19 Februari 2013

Instalasi Honeypot: Dionaea


Dionaea http:agent704.blogspot.com
 Sama seperti honeyD, Dionaea adalah honeypot yang termasuk low interaction. bagi yang belum tahu nama Dionaea diambil dari nama sebuah tumbuhan karnivora, yaitu tumbuhan yang suka memaksa serangga yang hinggap pada kelopak bunganya.Tidak seperti honeyD yang proses instalasinya tergolong mudah, pada dionaea ini memiliki langkah-langkah yang lumayan panjang. pada proses instalasi ini terdapat 18 prerequisities yang harus diinstal sebelum menginstal Dionaea. Berikut adalah langkah-langkah untuk mennginstal honeypot Dionaea.

1.      Sebelum melakukan instalasi dionaea kita haru harus menginstal prerequisities sebagai berikut.
apt-get install libglib2.0-dev libssl-dev libcurl4-openssl-dev libreadline-dev libsqlite3-dev python-dev libtool automake autoconf build-essential subversion git-core flex bison pkg-config

2.      Gettext/ glib
apt-get install gettext
wget http://ftp.gnome.org/pub/gnome/sources/glib/2.20/glib-2.20.4.tar.bz2
tar xfj glib-2.20.4.tar.bz2
rm glib-2.20.4.tar.bz2
cd glib-2.20.4/
./configure --prefix=/opt/dionaea
make
make install
cd ..

3.      Liblcfg
git clone git://git.carnivore.it/liblcfg.git liblcfg
cd liblcfg/code
autoreconf -vi
./configure --prefix=/opt/dionaea
make install
cd /usr/local/src

4.      Libemu
git clone git://git.carnivore.it/libemu.git libemu
cd libemu
autoreconf -vi
./configure --prefix=/opt/dionaea
make install
cd ..

5.      Libnl (optional)
git clone git://git.kernel.org/pub/scm/libs/netlink/libnl.git
cd libnl
autoreconf -vi
export LDFLAGS=-Wl,-rpath,/opt/dionaea/lib
./configure --prefix=/opt/dionaea
make
make install
cd ..

6.      Libev
wget http://dist.schmorp.de/libev/Attic/libev-3.9.tar.gz
tar xfz libev-3.9.tar.gz
rm libev-3.9.tar.gz
cd libev-3.9
./configure --prefix=/opt/dionaea
make install
cd ..

7.      Cython
wget http://cython.org/release/Cython-0.12.1.tar.gz
tar xfz Cython-0.12.1.tar.gz
rm Cython-0.12.1.tar.gz
cd Cython-0.12.1
python setup.py build
python setup.py install
cd ..

8.      Sqlite3
apt-get install sqlite3

9.      Python 3.1.2
wget http://python.org/ftp/python/3.1.2/Python-3.1.2.tgz
tar xfz Python-3.1.2.tgz
rm Python-3.1.2.tgz
cd Python-3.1.2/
./configure --enable-shared --prefix=/opt/dionaea --with-computed-gotos \
--enable-ipv6 LDFLAGS="-Wl,-rpath=/opt/dionaea/lib/"
make
make install
cd ..

10.  Libxml2-dev
apt-get install libxml2-dev

11.  Libxslt1-dev
aptitude install libxslt1-dev

12.  Lxml
wget http://codespeak.net/lxml/lxml-2.2.6.tgz
tar xfz lxml-2.2.6.tgz
rm lxml-2.2.6.tgz
cd lxml-2.2.6
/opt/dionaea/bin/2to3 -w src/lxml/html/_diffcommand.py
/opt/dionaea/bin/2to3 -w src/lxml/html/_html5builder.py
/opt/dionaea/bin/python3 setup.py build
/opt/dionaea/bin/python3 setup.py install
cd ..

13.  Udns
wget http://www.corpit.ru/mjt/udns/udns_0.0.9.tar.gz
tar xfz udns_0.0.9.tar.gz
rm udns_0.0.9.tar.gz
cd udns-0.0.9/
./configure
make shared
cp udns.h /opt/dionaea/include/
cp *.so* /opt/dionaea/lib/
cd /opt/dionaea/lib
ln -s libudns.so.0 libudns.so
cd /usr/local/src

14.  Curl
wget http://c-ares.haxx.se/c-ares-1.7.3.tar.gz
tar xfz c-ares-1.7.3.tar.gz
cd c-ares-1.7.3
./configure --prefix=/opt/dionaea
make
make install
cd ..

15.  C-ares
wget http://curl.haxx.se/download/curl-7.20.0.tar.bz2
tar xfj curl-7.20.0.tar.bz2
rm curl-7.20.0.tar.bz2
cd curl-7.20.0
./configure --prefix=/opt/dionaea
make
make install
cd ..

16.  Libpcap
wget http://www.tcpdump.org/release/libpcap-1.1.1.tar.gz
tar xfz libpcap-1.1.1.tar.gz
rm libpcap-1.1.1.tar.gz
cd libpcap-1.1.1
./configure --prefix=/opt/dionaea
make
make install
cd ..

17.  Dionaea
git clone git://git.carnivore.it/dionaea.git dionaea
cd dionaea
autoreconf -vi

./configure --with-lcfg-include=/opt/dionaea/include/ \
--with-lcfg-lib=/opt/dionaea/lib/ \
--with-python=/opt/dionaea/bin/python3.1 \
--with-cython-dir=/usr/bin \
--with-udns-include=/opt/dionaea/include/ \
--with-udns-lib=/opt/dionaea/lib/ \
--with-emu-include=/opt/dionaea/include/ \
--with-emu-lib=/opt/dionaea/lib/ \
--with-gc-include=/usr/include/gc \
--with-ev-include=/opt/dionaea/include \
--with-ev-lib=/opt/dionaea/lib \
--with-nl-include=/opt/dionaea/include \
--with-nl-lib=/opt/dionaea/lib/ \
--with-curl-config=/opt/dionaea/bin/ \
--with-pcap-include=/opt/dionaea/include \
--with-pcap-lib=/opt/dionaea/lib/ \
--with-glib=/opt/dionaea

make
make install

18.  Menjalankan Dionaea
cd /opt/dionaea/bin/
./dionaea -l all,-debug -L '*'

Gambar berikut adalah gambar dionaea yang telah berhasil dijalankan dengan menggunakan perintah di atas.

port scan akan dilakukan dengan menggunakan perintah nmap pada komputer yang telah terinstal dionaea maka akan tampak sebagai berikut.


Dionaea secara default sudah membuat file konfigurasi yang berada di file “/opt/dionaea/etc/dionaea/dionaea.conf”. pada file konfigurasi ini terbagi menjadi beberapa bagian yaitu
·         Logging
Bagian logging berfungsi sebagai log control, kita dapat menspesifikasikan log domain dan log level untuk logfiles yang berbeda. Berikut adalah file config untuk logging
logging = {
       default = {
// file not starting with / is taken relative to LOCALESTATEDIR (e.g. /opt/dionaea/var)
       file = "log/dionaea.log"
       levels = "all"
       domains = "*"
    }
       errors = {
// file not starting with / is taken relative to LOCALESTATEDIR (e.g. /opt/dionaea/var)
       file = "log/dionaea-errors.log"
       levels = "warning,error"
       domains = "*"
}
}

·         Processors
Bagian processor bekerja pada bi-directional streams yang kita dapat ketika diserang. Secara default konfigurasi ini menjalankan emu prosessor untuk mendeteksi shellcode. Berikut adalah bagian processor pada file config
processors =
{
filter-emu =
{
config = {     
         allow = [{ protocol = ["smbd","epmapper","nfqmirrord","mssqld"] }]
        }
        next = {
                emu =
                {
                        config = {
                        emulation = {
                                limits = {
                                files = "3"
                                filesize = "524288" // 512 * 1024
                                sockets = "3"
                                sustain = "120"
                                idle = "30"
                                cpu = "120"
                                steps = "1073741824" // 1024 * 1024 * 1024
                                }
                        api = {
                                connect = {
                                        host = "127.0.0.1"
                                        port = "4444"
                                        }
                                }
                        }
                }
        }
}
}
filter-streamdumper =
{
config = {
        allow = [
                { type = ["accept"] }
                { type = ["connect"] protocol=["ftpctrl"] }
                ]
                deny = [
                { protocol = ["ftpdata", "ftpdatacon","xmppclient"] }
                        ]
                }
                next = {
                        streamdumper = {
                                config = {
                                        path = "var/dionaea/bistreams/"
                                }
                        }
                }
        }


}

·         Downloads
Mengatur tempat penyimpanan malware yang berhasil didownload. Berikut adala default config file untuk downloads
downloads =
{
dir = "var/dionaea/binaries"
tmp-suffix = ".tmp"
}

·         Bistreams
Mengatur dimana tempat untuk menyimpan bi-directional streams. Ini sangat berguna saat melakukan debugging.
·         Submit
Mengatur tujuan pengiriman file ia http atau ftp, jika kita butuh service lain kita dapat menambahkannya pada bagian ini.
submit =
{
defaults = {
urls = ["http://anubis.iseclab.org/nepenthes_action.php",
       "http://onlineanalyzer.norman.com/nepenthes_upload.php",
"http://luigi.informatik.uni-mannheim.de/submit.php?action=verify"]
email = "holil.pro704@gmail.com"
file_fieldname = "upfile"
MAX_FILE_SIZE = "1500000"
submit        = "Submit for analysis"
}

}

·         Listen
Mengatur alamat yang dapat di listen oleh dionaea, secara default semua alamat dapat ditemukan.
·         Modules
Terdiri dari beberapa module diantanya adalah
o   Pcap
o   Curl
o   Emu
o   Python
o   dll

2 komentar:

  1. Hi, I installed Dionaea according to your lesson.

    I see attacks in my log file. My Bistream directory has many attack information, but my Binaries directory is empty!!!

    Do you know what the problem is?

    Thanks

    BalasHapus
  2. whether honeypot you've planted in public ip

    BalasHapus