46

Modul Keamanan Komputer Triawan

Embed Size (px)

DESCRIPTION

Modul Keamanan Komputer

Citation preview

Page 1: Modul Keamanan Komputer Triawan
Page 2: Modul Keamanan Komputer Triawan

0

1

2

3

4

5

6

7

8

TableofContentsKataPengantar

Bab1-Dasar-dasarPenggunaanWireshark

Bab2-TutorialMenggunakanWireshark

Bab3-SniffingPadaJaringanKabeldanNirkabel

Bab4-BekerjaDenganDataHasilTangkapan

Bab5-PingdanPortScanning

Bab6-PengenalanPython

Bab7-SniffingMenggunakanPython

Bab8-PengenalanAnalisaMalware

HandoutKeamananKomputer

2

Page 3: Modul Keamanan Komputer Triawan

ModulPraktikumKeamananKomputerAlhamdulilah,wasyukurilah,wallailahaillallah,AllahAkbar.TerimakasihyangtakterhinggasayaucapkankepadaAllahSWT,atasnikmat,kesehatandansemangatjuangyangdiberikankepadasaya,sehinggadapatmenyelesaikanmoduluntukmatakuliahkeamanankomputer.

Tentusajainiadalahpengalamansayamenulismodulsendiri,karenapadapraktikumtahunsebelumnyatidakadamatakuliahini.Karenasayatertarikdenganbidangkeamanankomputer,makasayamencobamenyisihkanwaktuuntukmenulis.

Materimodulkeamanankomputeriniterdiridaripengenalanpaketdata,penggunaanwireshark,pengenalanpython,pemrogramanpythonuntukmendukungkeamanankomputer,pengenalananalisamalware,dasar-dasarreverseengineeringdanlatihan.

Semogadenganterselesaikannyamodulini,dapatmembawamanfaatdanmembawailmupengetahuanbagisiapasajayangmembaca.

Jember,November2015

Salam

Penulis

HandoutKeamananKomputer

3KataPengantar

Page 4: Modul Keamanan Komputer Triawan

Dasar-dasarPenggunaanWiresharkPadapertemuanpertama,sayainginmenjelaskanfungsidarisoftware/perangkatlunakWireshark.Wiresharkmerupakanperangkatlunakyangspesifikuntukmelakukananalisapaketdatapadajaringansecararealtimedanmenampilkanhasilanalisapaketdatatersebutdalamformatyangdipahamiolehpengguna.Wiresharkdapatmelakukanpaketfiltering,paketcolorcoding,danfitur-fiturlainyangdapatmengizinkanuntukmelihatdetailnetworktrafficdaninspeksipaketdatasecaraindividu.

ToolsUntukmengunduhsoftwarewireshark,Andadapatmengunjungialamatwebsiteofficialwiresharkdihttp://www.wireshark.org/download.html.WiresharkdapatdigunakanpadasistemoperasiWindows,MacOSX,danLinux.

KapanMenggunakanWiresharkAdabanyakhalyangdilakukanmenggunakanwireshark.Berikutinimerupakancontohkasusyangmungkindibutuhkantoolswireshark:

1. Melakukantroubleshootpermasalahanjaringan2. Melakukanpengujianmasalahkeamanan3. Melakukandebuggingimplementasiprotokol4. BelajarprotokoljaringanWiresharkinidapatkitasebutsebagaitoolsyangpowerfull,karenadenganmenggunakantoolsini,kitabisasajadapatmenggunakannyauntukmencuriinformasiyangsensitifpadajaringan,sepertipassword,cookie,danlainsebagainya.

FiturWiresharkmempunyaifituryanglengkap,diantaranyaadalah:

1. Multiplatform-Dapatdigunakanuntukbeberapaplatformsistemoperasi(Unix,Mac,Windows,danLinux)

2. Dapatmelakukancapturepaketdatajaringansecararealtime3. Dapatmenampilkaninformasiprotokoljaringandaripaketdatasecaralengkap

HandoutKeamananKomputer

4Bab1-Dasar-dasarPenggunaanWireshark

Page 5: Modul Keamanan Komputer Triawan

4. Paketdatadapatdisimpanmenjadifiledannantinyadapatdibukakembaliuntukanalisislebihlanjut

5. Filteringpaketdatajaringan6. Pencarianpaketdatadengankriteriaspesifik7. Pewarnaantampilanpaketdatauntukmempermudahanalisapaketdata8. MenampilkandatastatistikUntukmelakukancapturepaketdatayangkeluarataupunmasukpadajaringan,wiresharkmemerlukanperangkatfisikNIC(NetworkInterfaceCard).

ProtokolWiresharkdapatmelakukananalisisterhadapbeberapaprotokolpaketdatajaringan.Sampaiwiresharkversi1.12.6,sudahmendukung1482protokol,sepertiterlihatpadagambardibawahini:

Gambar1.1ProtokolYangDisupportWireshark

Padagambar1.1diatas,wiresharksudahmendukung1482protokol,tentunyajumlahprotokolyangdidukungwiresharkakanbertambahlagipadatiapversinya.

PengawasanDataSecaraRealTime

HandoutKeamananKomputer

5Bab1-Dasar-dasarPenggunaanWireshark

Page 6: Modul Keamanan Komputer Triawan

Wiresharkdapatmenganalisispaketdatasecararealtime.Artinya,aplikasiwiresharkakanmengawasisemuapaketdatayangkeluarmasukmelaluiantarmukayangtelahditentukandanselanjutnyaakanmenampilkanhasilpaketdatanya.Contohaplikasiwiresharkyangsedangmelakukanpengawasandapatdilihatpadagambar2,berikutini:

Gambar1.2TampilanDataRealTimeWireshark

Jikakomputerkitaterhubungdenganjaringankecepatantinggidanpadakomputersedangdijalankanbanyakaplikasiberbasisjaringan,aplikasiwiresharkakanmenampilkanbanyaksekalipaketdata.

TugasPraktikumSilakanAndalakukanujicobapenggunaanWiresharkuntukmelakukancapturepaketdata,kemudiankumpulkanhasilnyaberupadokumentasigambar/screenshotdandisertaiketerangannya.

HandoutKeamananKomputer

6Bab1-Dasar-dasarPenggunaanWireshark

Page 7: Modul Keamanan Komputer Triawan

TutorialMenggunakanWiresharkPadabagiankeduaini,sayainginmelakukandokumentasibeberapafungsipenggunaanwiresharkuntukmelakukansniffing,baikpadajaringankabelmaupunnirkabel.

MelakukanSniffingApabilasudahselesaimenginstallwireshark,kitadapatlangsungmelakukansniffingterhadappaketdatayangkitacapturedariwireshark.Caracapturedatapakaiwiresharktausemuakan?hehehe.Untukmelakukansniffing,pastikankomputeryangakandigunakansudahterhubungdenganjaringanyangakandi-sniff.Caranepiyeom?Berikutinimerupakanlangkah-langkahuntukmelakukansniffingdenganwireshark.

1. Jalankanwireshark

2. KlikmenucapturedanpilihInterfacesepertiyangterlihatpadagambarberikut.

Gambar2.1-MenuCaptureWireshark

3. Setelahmenuinterfacediklik,makaakanadakotakdialogwiresharksepertipadagambar2.2dibawahini:

Gambar2.2-InterfaceAktif

4. Kotakdialogpadagambar2.2diperolehdaridaftarantarmukajaringanyangdimiliki.Kolompaketakanbernilaisuatubilangantertentu,haltersebutmenunjukkanadanyapaketdatayangmasuk

5. Pilihinterfaceyangmempunyaipaketjaringanyangmasukatauaktif

HandoutKeamananKomputer

7Bab2-TutorialMenggunakanWireshark

Page 8: Modul Keamanan Komputer Triawan

6. Selainitu,kitajugadapatmelakukankonfigurasidenganmengkliktomboloptionspadakotakdialogwireshark:CaptureInterfaces

7. Setelahmengkliktomboloptions,makaakantampilsepertigambar2.3berikutini:

Gambar2.3-CaptureOptions

8. Pastikanpadamenucaptureoptionstersebut,bagian"Capturepacketsinpromiscuousmode"sudahtercentang.

9. KitajugadapatmenentukanfiledanlokasinyadengankliktombolbrowsepadabagianCaptureFile.

10. KlikStart

11. Wiresharkakanmelakukansniffingsesuaidengankonfigurasiyangdilakukan

12. Prosespengambilanpaketdatainiakanberlangsungsecararealtime

13. Semakinlamamelakukansniffing,semakinbesarfileyangakandihasilkan

HandoutKeamananKomputer

8Bab2-TutorialMenggunakanWireshark

Page 9: Modul Keamanan Komputer Triawan

14. Contohprosessniffingpadawiresharksecararealtimesepertipadagambar2.4berikutini:

Gambar2.4-SniffingDenganWireshark

15. Untukmenghentikanprosessniffing,klikiconadapterjaringanyangberwarnamerah,letaknyanomorempatdarikiri.

16. Untukmenyimpanpaketdatayangsudahdicapturesecararealtime,klikmenuFile->SaveAs

17. Tulisnamafilenya,kemudiankliktombolsaveuntukmenyimpanfilehasilcapture.Filenyaseharusnyaberekstensi.pcap

HakAksesSniffingPadabeberapakasussniffingdengansistemoperasikadangdibatasi.Olehkarenaitu,untukmelakukansniffingdenganwiresharkalangkahbaiknyadijalankandenganmemperolehpermissionleveltertinggi(root)atauadministrator.Apabilapadalinuxcukupdenganmemanggilperintahberikut:

sudowireshark

SementarapadaOSwindows,dapatmelakukandengancaraklikkananprogramwiresharkkemudianpilih"runasadministrator"

TugasPraktikum

HandoutKeamananKomputer

9Bab2-TutorialMenggunakanWireshark

Page 10: Modul Keamanan Komputer Triawan

1. Setelahdapatmenggunakanwiresharkdanpahamtentangfungsi-fungsidasarwireshark,silakanAndacapturepaketdatakemudiansimpandalambentukfile.pcap,masing-masingpaketdataharusberbedadaripunyatemennya.

2. Buatlahlaporandokumentasidarihasilpaketdatayangdisimpantersebut,danberikanketeranganapayangdapatAndapahamidaripaketdataitu.

HandoutKeamananKomputer

10Bab2-TutorialMenggunakanWireshark

Page 11: Modul Keamanan Komputer Triawan

SniffingPadaJaringanKabeldanNirkabelUntukmelakukansniffingdalamwaktuyanglama,penggunaanguiwiresharktidakdirekomendasikankarenaterlalubanyakpenggunaansumberdaya.Sebagaipenggantinya,Andadapatmenggunakansoftwaretsharkdandumpcap.ApabilaAndamenggunakanlinuxsepertibacktrackataukalilinux,softwaretersebutsudahtersedia,jaditidakperlumelakukaninstalasi.

MelakukanSniffingPadaJaringanKabel

TeknikTappingMerupakanteknikyangdigunakanuntukmelakukansniffingsecaraefektifsehinggadataatauinformasipaketdatayangdiperolehhanyasesuaidenganyangdiinginkan.Tentunyadengantekniktappinginiakanmeminimalisirpaketdatayangluasdanbanyak.Berikutiniterdapatilustrasijaringankomputersederhana:

Gambar3.1-SkenarioSniffing

HandoutKeamananKomputer

11Bab3-SniffingPadaJaringanKabeldanNirkabel

Page 12: Modul Keamanan Komputer Triawan

Padagambar3.1terlihatbahwaadatigaorangpenggunayaitubob,alicedaneve.Skenariojaringanyangterdapatpadagambar3.1merupakangambaranbobdanaliceyangsedangberkomunikasimelaluijaringaninternet.Evemerupakanpihakketigayangtidakdiketahuiolehbobmaupunalice.EvemelakukansniffingkeNICmilikbob,sehinggapaketdatayangdikirimolehbobdapatterbacaolehevemenggunakanwireshark.

Berdasarkangambartersebut,makapenempatanmesinyangnantinyaakandi-sniffingmerupakanpermasalahanutama,karenamesinyangakandi-sniffingharusmempunyaipaketdatamasukdankeluaragardapatdipastikannantinyamemperolehdatayangdapatdianalisa.

TappingPadaHubMelakukantappingpadahubmerupakanlangkahyangtepatkarenajikalaukitamemasangperalatankomputerpadasuatuhub,kitaakanmemperolehseluruhinformasidarijaringanyangada.Halinidikarenakansifatdarihubtersebut.Saatinihubsudahjarangsekalidijualkarenamemilikibeberapaketerbatasan,terutamaseringterjadinyakegagalanpaketakibattabrakan(collision).Apabilaandamendapatiterdapathub,makahubadalahperalatanyangmudahsekaliuntukdi-sniffing.

TappingPadaSwitchSebagaipenggantidarihubadalahswitch.Switchmenyediakanfituryanglebihbaikdibandingkandenganhub.Komunikasiyangdisediakansudahfullduplex,artinyaprosespengirimandanpenerimaandatabisaterjadisecarabersamaan.ApabilaAndainginmelakukantappingpadaswitch,andaharusmendapatkantransmisipaketyangmengarahkemesin/komputerkita.Inilahkejelekanmelakukansniffingmelaluisebuahswitch.Agardapatmenjangkaukejaringanyanglebihluas,biasanyakitadapatmelakukanprosesseperti:

1. PortMirroring2. HubbingOut3. ARPCachePoisoning

TappingPadaRouterRoutermerupakanperalatanyangdapatmenghubungkanjaringanLANyangsatudenganyanglainnya.Tappingpadaroutersebenarnyaakanmengalamihalyangsamasepertipadaswitch.Padasebuahkasus,misalnyauntukdebuggingnetwork,routerdapatdikonfigurasi

HandoutKeamananKomputer

12Bab3-SniffingPadaJaringanKabeldanNirkabel

Page 13: Modul Keamanan Komputer Triawan

sedemikianrupahinggapaketdapatdiawasi.Halyangsulitadalahketikaadabanyakrouteryangbekerja.Kadangkitadapatmenangkappaketyangmasuk,tetapikadangtidakmemperolehinformasiresponsnya.

MelakukanSniffingPadaJaringanNirkabelMelakukansniffingpadajaringannirkabelmemangkadangmengalamikendala.Halinibiasanyaterkaitdenganmasalahdriverdansistemoperasiyangmemproteksinya.

ProblematikadiSistemOperasiWindowsPadasistemoperasiwindows,aplikasiwiresharktidakdapatmendeteksidriverWirelesskarenalibraryWinpcaptidakdapatmendeteksinya.Sekalipunbisa,driverinidikenaldengannamamicrosoft.Kalaudijalankan,nantinyahanyamemperolehpaketdiatasprotokolWLAN(802.11).PaketradiotapdanIEEE802.11tidakterdeteksidenganbaik.Alternatiflain,dapatmenggunakantoolsdarimicrosoftyangbernamaMicrosoftNetworkMonitor

ProblematikadiSistemOperasiLinuxUbuntuSecaradefault,adapterWifipadalinux,terutamaUbuntu,bekerjapadamodenormal,artinyatidakpadakondisimonitor.Olehkarenaitu,harusdiaktifkanterlebihdahuludengansintaksebagaiberikut:

sudoifconfigwlan0down

sudoiwconfigwlan0modemonitor

Nilaiwlan0adalahnamaadapterWifiyangdimiliki.Sebelummelakukanini,pastikanWifitidakterhubungdenganaccesspointWifitertentu.Kadangketikamelakukaneksekusi,kitamengalamierror.HalinimungkinkarenaperangkatkerasadapterWifiyangdimilikiataudrivernyatidakmendukung.Jikaberhasil,lakukanpengujiansepertiberikut:

iwconfigwlan0

Apabilaberhasil,kitaakanmemperolehrespons.Disiniterlihatbahwamodewlan0adalahMonitor.Artinya,kitadapatmelakukanpengawasanprotokolIEEE802.11.

TugasPraktikum

HandoutKeamananKomputer

13Bab3-SniffingPadaJaringanKabeldanNirkabel

Page 14: Modul Keamanan Komputer Triawan

SilakanAndamelakukansniffingterhadapalamatIPAddressdiPCmiliktemennyayangterdapatpadalaboratorium.Simpanlahhasilsniffingtersebut,kemudianlakukananalisaapasajadata-data"unik"yangAndatemukandipaketdatatersebut.

HandoutKeamananKomputer

14Bab3-SniffingPadaJaringanKabeldanNirkabel

Page 15: Modul Keamanan Komputer Triawan

BekerjaDenganDataHasilTangkapanDatahasiltangkapandariWiresharkdapatdimanfaatkanuntukkepentingananalisadatalebihlanjut.Umumnyadatahasiltangkapanmempunyaiekstensifile(.pcap),namunWiresharkmendukungbanyakformatfilesehinggaapabilamenemukanfilepaketdataselainberformat.pcaptetapsajabisadibukadenganwireshark.

MembukaFileHasilTangkapanUntukmembukafilepaketdatahasiltangkapandilakukandengancaramembukamenuFile->Open.Kemudianakantersajidata-datahasiltangkapan.

PemfilteranPaketData

Kenapaperludifilter?

Bayangkansajaapabiladalamsatukomputeryangmenjalankanbrowserdenganbanyaktabdanalamatwebyangberbeda-beda.Kemudian,jugasambilmembuatEmail,Chatting,Skype,Facebook,Twitter,dll.Lalumenjalankanaplikasiwireshark,apayangterjadi?Semuapaketdataakanmasuksemua.

Sepertiyangsudahdijelaskan,paket-paketdatajaringandenganberbagaiprotokolnyakadangmenyulitkanketikaakanmelakukananalisapaketatauprotokoltertentu.Atasdasarini,makadibutuhkanteknikfilterdata.

FilterPaketDataSecaraLangsung

Apabilainginmemfilterpaketdatasecaralangsung,Andadapatmelakukannyaketikamembukaantarmukayangakandigunakan.

PilihInterface->Options->CaptureFilter,pilihsalahsatufilterdibagiankotakdaftarCaptureFilter,misalnyaHTTPTCPport(80).ApabilasudahkliktombolOKkemudianklikStartuntukmemulaiprosessniffing.

TugasPraktikum

HandoutKeamananKomputer

15Bab4-BekerjaDenganDataHasilTangkapan

Page 16: Modul Keamanan Komputer Triawan

Berdasarkandatahasiltangkapan,silakanAndalakukanfilterpaketberdasarkanparameterfiltertertentusepertitcp.ip,port,ip.src,ip.dstdanlainsebagainya.Sehinggamahasiswadapatmemahamiapafungsidarifilteringpaketdata.

HandoutKeamananKomputer

16Bab4-BekerjaDenganDataHasilTangkapan

Page 17: Modul Keamanan Komputer Triawan

Bab5PingdanPortScanning

5.1PingPingadalahsalahsatumekanismeyangdigunakanuntukmengetahuiapakahsuatuhostdenganiptertentudapatdiaksesatausedangaktifpadajaringantertentu.PingdikirimkanmenggunakanprotokolICMP(InternetControlMessageProtocol).AlamatIPyangmeresponpermintaandariPingtadiakanmemberikanduainformasiyangberhargayaitu:

1. Apabilaalamatiptujuanmerespon,kitajaditaubahwamesin/hostdenganalamatiptersebutadalahaktifdanresponsif

2. Pingumumnyaakanmemberikanketeranganseberapalamakonektifitasantarapenggunayangmengirimkanpingkepadatujuan.Halinidapatdilihatdaricatatanwaktuyangadapadasaatpenggunamengirimkanpaketping.

Padapraktikumkaliini,sayainginmengembangkanaplikasiyangbertujuanuntukmelakukanpingterhadapIPAddresstertentuuntukmelakukanscanningterhadapjaringanlokalagarmengetahuieksistensidarialamatIPyangtersedia/aktif.SayamenggunakanlibrarywxPythonuntukmembangunaplikasiberbasisGUI(GraphicalUserInterface).UntukpenggunaanPing,Andadapatmenggunakanlibraryyangada,dinamakanPython-Ping.LibraryPython-PingmerupakanmodulyangmenanganioperasidetaildarirequestICMP.

Berikutinimerupakankodeprogramping.py

importwxversion

importwx

importsys

importping

importsocket

fromtimeimportgmtime,strftime

defpingScan(event):

ifhostEnd.GetValue()<hostStart.GetValue():

dlg=wx.MessageDialog(mainWin,"InvalidLocalHostSelection","Confirm",wx.OK|wx.ICON_EXCLAMATION)

result=dlg.ShowModal()

dlg.Destroy()

return

mainWin.StatusBar.SetStatusText('ExecutingPingSweep....PleaseWait')

utcStart=gmtime()

utc=strftime("%a,%d%b%Y%X+0000",utcStart)

results.AppendText("\n\nPingSweepStarted:"+utc+"\n\n")

HandoutKeamananKomputer

17Bab5-PingdanPortScanning

Page 18: Modul Keamanan Komputer Triawan

baseIP=str(ipaRange.GetValue())+'.'+str(ipbRange.GetValue())+'.'+str(ipcRange.GetValue())+'.'

ipRange=[]

foriinrange(hostStart.GetValue(),(hostEnd.GetValue()+1)):

ipRange.append(baseIP+str(i))

foripAddressinipRange:

try:

mainWin.StatusBar.SetStatusText('PingingIP:'+ipAddress)

delay=ping.do_one(ipAddress,timeout=2)

results.AppendText(ipAddress+'\t')

ifdelay!=None:

results.AppendText('ResponseSuccess')

results.AppendText('ResponseTime:'+str(delay)+'Seconds')

results.AppendText("\n")

else:

results.AppendText('ResponseTimeout')

results.AppendText("\n")

exceptsocket.error,e:

results.AppendText(ipAddress)

results.AppendText('ResponseFailed:')

results.AppendText(e.message)

results.AppendText("\n")

utcEnd=gmtime()

utc=strftime("%a,%d%b%Y%X+0000",utcEnd)

results.AppendText("\nPingSweepEnded:"+utc+"\n\n")

mainWin.StatusBar.SetStatusText('')

return

defprogramExit(event):

sys.exit()

app=wx.App()

mainWin=wx.Frame(None,title="SimplePing(ICMP)Sweeper1.0",size=(1000,600))

panelAction=wx.Panel(mainWin)

scanButton=wx.Button(panelAction,label='Scan')

scanButton.Bind(wx.EVT_BUTTON,pingScan)

exitButton=wx.Button(panelAction,label='Exit')

exitButton.Bind(wx.EVT_BUTTON,programExit)

Results=wx.TextCtrl(panelAction,style=wx.TE_MULTILINE|wx.HSCROLL)

ipaRange=wx.SpinCtrl(panelAction,-1,'')

ipaRange.SetRange(0,255)

ipaRange.SetValue(127)

HandoutKeamananKomputer

18Bab5-PingdanPortScanning

Page 19: Modul Keamanan Komputer Triawan

ipbRange=wx.SpinCtrl(panelAction,-1,'')

ipbRange.SetRange(0,255)

ipbRange.SetValue(0)

ipcRange=wx.SpinCtrl(panelAction,-1,'')

ipcRange.SetRange(0,255)

ipcRange.SetValue(0)

ipLabel=wx.StaticText(panelAction,label="IPBase:")

hostStart=wx.SpinCtrl(panelAction,-1,'')

hostStart.SetRange(0,255)

hostStart.SetValue(1)

hostEnd=wx.SpinCtrl(panelAction,-1,'')

hostEnd.SetRange(0,255)

hostEnd.SetValue(10)

HostStartLabel=wx.StaticText(panelAction,label="HostStart:")

HostEndLabel=wx.StaticText(panelAction,label="HostEnd:")

actionBox=wx.BoxSizer()

actionBox.Add(scanButton,proportion=1,flag=wx.LEFT,border=5)

actionBox.Add(exitButton,proportion=0,flag=wx.LEFT,border=5)

actionBox.Add(ipLabel,proportion=0,flag=wx.LEFT,border=5)

actionBox.Add(ipaRange,proportion=0,flag=wx.LEFT,border=5)

actionBox.Add(ipbRange,proportion=0,flag=wx.LEFT,border=5)

actionBox.Add(ipcRange,proportion=0,flag=wx.LEFT,border=5)

actionBox.Add(HostStartLabel,proportion=0,flag=wx.LEFT|wx.CENTER,border=5)

actionBox.Add(hostStart,proportion=0,flag=wx.LEFT,border=5)

actionBox.Add(HostEndLabel,proportion=0,flag=wx.LEFT|wx.CENTER,border=5)

actionBox.Add(hostEnd,proportion=0,flag=wx.LEFT,border=5)

vertBox=wx.BoxSizer(wx.VERTICAL)

vertBox.Add(actionBox,proportion=0,flag=wx.EXPAND|wx.ALL,border=5)

vertBox.Add(results,proportion=1,flag=wx.EXPAND|wx.LEFT|wx.BOTTOM|wx.RIGHT,border=5)

panelAction.SetSizer(vertBox)

mainWin.Show()

app.MainLoop()

TugasPraktikum

1. Berdasarkankodeprogramyangsudahdibuat,silakanAndapakaikodeprogramtersebutuntukmelakukanpingterhadapjaringandiluarkampus.Studikasusnyabolehdimanasajakecualidiwilayahkampusunmuhjembertidakdiperbolehkankarenasudahdiujicobadipraktikumnya.

2. Berikanscreenshotdandisertaipenjelasanyangbaikdankata-katayangmudah

HandoutKeamananKomputer

19Bab5-PingdanPortScanning

Page 20: Modul Keamanan Komputer Triawan

dimengerti,kemudianbuatlahlaporandalambentukPDF,dikumpulkanpadapertemuanminggudepan.

5.2PortScanningPortScanningmerupakancarayangdigunakanuntukmemeriksaportpadasuatuhost,apakahportyangterbukaadalahportyangmemangdigunakanatauportyangtidakdiketahuikegunaannya.

Beberapaportyangsudahdikenaldanseringdigunakanyaitu:

Tabel5.1ListNomorPortdanNamaProtocol

NomorPort Protocol

21 FTP(FileTransferProtocol)

22 SSH(SecureShell)

23 Telnet

25 SMTP(SimpleMailTransferProtocol

53 DNS(DomainNameSystem)

80 HTTP(HypertextTransferProtocol

110 POP3(PostOfficeProtocol)

119 NNTP(NetworkNewsTransferProtocol)

143 IMAP(InternetMessageAccessProtocol)

161 SNMP(SimpleNetworkManagementProtocol)

194 IRC(InternetRelayChat)

443 HTTPS(HTTPSecure)

465 SMTPS(SMTPSecure)

8443 RouterRemoteAccess

Danlainsebagainya

Berikutiniterdapatkodeprogramuntukmelakukanportscanningberbasiscommandline:

NamaFile:portscan.py

HandoutKeamananKomputer

20Bab5-PingdanPortScanning

Page 21: Modul Keamanan Komputer Triawan

importsocket

importsubprocess

importsys

fromdatetimeimportdatetime

subprocess.call('clear',shell=True)

remoteServer=raw_input("Masukkanalamathostuntukprosesscanning:")

remoteServerIP=socket.gethostbyname(remoteServer)

print"-"*60

print"Tunggu......ProsesScanningRemoteHost",remoteServerIP

print"-"*60

t1=datetime.now()

try:

forportinrange(1,1025):

sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

result=sock.connect_ex((remoteServerIP,port))

ifresult==0:

print"Port{}:\tTerbuka".format(port)

sock.close()

exceptKeyboardInterrupt:

print"AndatekanCtrl+C"

sys.exit()

exceptsocket.gaierror:

print"Hostnametidakdapatdiperiksa.Programakankeluar...."

sys.exit()

exceptsocket.error:

print"Tidakdapatterhubungkeserver"

sys.exit()

t2=datetime.now()

total=t2-t1

print

print"ProsesScanningselesai.."

print

print"Waktuyangdihabiskanuntukmelakukanscanningadalah:",total

Outputnyaadalahsebagaiberikut:

HandoutKeamananKomputer

21Bab5-PingdanPortScanning

Page 22: Modul Keamanan Komputer Triawan

Gambar5.1PortScanningBerbasisCommandLine

Padagambar5.1tersebut,terdapatketeranganporttertentuyangterbukadarisuatualamatip.Apabilaportyangterbukasudahdikenali,makaalamatiptersebuttidakadaaksesyangmencurigakan.Sedangkanapabilaportyangterbukatidakdikenali,makasilakandiperiksadenganbaikpenggunaanaksesdatanya.

BerikutiniterdapatkodeprogramlainnyauntukmelakukanportscanningberbasisGUI:

NamaFile:guiportscan.py

fromsocketimport*

fromTkinterimport*

defjalankan():

iptarget=field.get()

foriinrange(20,1025):

s=socket(AF_INET,SOCK_STREAM)

result=s.connect_ex((iptarget,i))

ifresult==0:

print'Port%d:Terbuka'%(i,)

s.close()

root=Tk()

root.title('SimplePortScanner')

lab=Label(text='MasukkanAlamatIPuntukdiscan:')

lab.pack(side=TOP,padx=10,pady=10)

field=Entry(root,width=10)

field.pack(side=TOP,padx=10,pady=10)

Button(root,text='Keluar',command=root.quit).pack(side=RIGHT)

Button(root,text='Scan',command=jalankan).pack(side=RIGHT)

root.mainloop()

Outputdariprogramdiatasadalah:

HandoutKeamananKomputer

22Bab5-PingdanPortScanning

Page 23: Modul Keamanan Komputer Triawan

Gambar5.2PortScanningBerbasisGUI

Padagambar5.2,tampilanguinyatidaktercapture.Tampilanguihanyadigunakanuntukmemasukkanalamatipyangakandiperiksaportnyamulaidariport20sampai1025.Programinisedikitberatdalammelakukanportscanningkarenaakanmemeriksaportyangterbukasatupersatu,apabilajaringanmaupunkomputernyalambat,makaakanberpengaruhdenganwaktupenyelesaianportscanning.

TugasPraktikumBerdasarkankodeprogramportscanningtersebut.Setiapmahasiswasilakanmencobamelakukanportscanningterhadapalamatiptertentu(bisajugaalamatipkomputeranda)sehinggadapatmengetahuiportapasajayangterbuka.Kumpulkandalambentuksoftcopyyangterdiridarireviewprogramdantampilanoutputprogram.

HandoutKeamananKomputer

23Bab5-PingdanPortScanning

Page 24: Modul Keamanan Komputer Triawan

PengenalanPythonPythonmerupakanbahasapemrogramanyangpopulerkhususnyapadabidangkeamanankomputer.Padamodulini,beberapaeksperimendalampembuatanprogramuntukmendukungproseskeamanankomputer,ditulismenggunakanpythonversi2.Apabilatidakinginrumit,makapakailahsistemoperasilinuxvarianterbaru,misalnya:ubuntu,kalilinux,danlainsebagainya.Bahasapemrogramanpythonbesertamodul-modulnyasudahterinstallotomatisdisistemoperasilinux.

PengenalanNetworkSocketNetworksocketmerupakanalamatyangmengandungdataalamatipaddressdannomorport.Singkatnya,socketmerupakancarayangmudahuntukberkomunikasidengankomputerlain.Olehkarenaitu,socketmerupakansuatuprosesyangdapatberkomunikasidenganprosesyanglainmelaluijaringan.

Padabahasapemrogramanpython,untukmembuatsocketmenggunakanfungsisocket.socket()yangtersediapadamodulsocket.Sintaksstandardarifungsisocketadalah:

s=socket.socket(socket_family,socket_type,protocol=0)

Deskripsiparameterdarifungsisocketdiatasadalahsebagaiberikut:

socket_family:socket.AF_INET,PF_PACKET

AF_INETmerupakanalamatuntukIPv4.PF_PACKETmerupakandevicedriverlayer.Umumnyamerupakanlibrarypcapyangdigunakanpadalinux.

CaraKerjaMethodSocketServerDalamkonseparsitekturclient-server,terdapatdualayananyangberbedadarimasing-masingperangkat.Serverbertugassecaraterpusatuntukmemberikanservice/layananyangdimintaolehclient.Sedangkanclientbertugasuntukmengirimkanpermintaandanmenerimalayanandariserver.

Beberapametodepadafungsisocketdipython,yaitu:

socket.bind(address):Methodinidigunakanuntukmenghubungkanalamatipdengannomorportkesocket.Socketharusdibukadahulusebelumterhubungdenganalamattersebut.

HandoutKeamananKomputer

24Bab6-PengenalanPython

Page 25: Modul Keamanan Komputer Triawan

socket.listen(q):MethodiniakanmemulaifasemendengarkankoneksiTCP.Argumenqmendefinisikanjumlahkoneksimaksimumyangdapatditanganiserver.socket.accept():Penggunaanmethodiniadalahuntukmenerimakoneksiyangdikirimdariclient.Sebelummenggunakanmethodini,methodsocket.bind(address)dansocket.listen(q)harusdigunakanterlebihdahulu.Methodsocket.accept()akanmengembalikanduanilaiyaitu:client_socketdanaddress,dimanaclient_socketadalahobjeksocketbaruyangdigunakanuntukmengirimdanmenerimadataselamaterhubung,danaddressadalahalamatclient.

MethodSocketClientMethodyangterdapatuntukfungsidisocketclientadalah:

socket.connect(address):Methodiniuntukmenghubungkanclientkeserver.Argumenaddressadalahalamatservernya.

MethodSocketBeberapafungsiyangterdapatpadamethodsocketadalahsebagaiberikut:

socket.recv(bufsize):MethodinimenerimapesanTCPdarisocket.Argumenbufsizemendefinisikanjumlahdatamaksimumyangdapatditerimadalamsuatuwaktu.socket.recvfrom(bufsize):Methodinimenerimadatadarisocket.Methodiniakanmengembalikansepasangnilai,nilaipertamaakanmemberikaninformasipenerimaandata,nilaikeduaakanmemberikanalamatsocketuntukmelakukanpengirimandatasocket.recv_into(buffer):Methodinimenerimadatakurangdariatausamadenganargumenbuffer.Parameterbufferdibuatolehmethodbytearray()socket.recvfrom_into(buffer):Methodinimempunyaidatadarisocketdanmengirimkanmelaluibuffer.Nilaikembalianadalahnbytesdanaddress,dimananbytesadalahjumlahbytesyangditerima,danaddressadalahalamatsocketpadasaatmengirimdata.socket.send(bytes):Methodinidigunakanuntukmengirimkandatakesocket.Sebelummengirimdata,pastikanbahwasocketsudahterhubungkemesin.Methodiniakanmengembalikanjumlahbyteyangterkirim.socket.sendto(data,address):Methodinidigunakanuntukmengirimdatakesocket.Secaraumum,methodinimenggunakanUDP.UDPmerupakanprotocolyangbersifatconnectionless(tidakmemperdulikanapakahpaketsudahterkirimataubelumyangpentingsudahdikirimkanolehsipengirim(server/client)).socket.sendall(data):Methodiniakanmengirimkansemuadatakesocket

Berikutiniterdapatkodeprogramclientserversederhana:

HandoutKeamananKomputer

25Bab6-PengenalanPython

Page 26: Modul Keamanan Komputer Triawan

Namafile:serverku.py

importsocket

host="192.168.0.1"

port=12345

s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

s.bind((host,port))

s.listen(2)

conn,addr=s.accept()

printaddr,"SelamatAndaSudahTerhubungdenganServerku.py"

conn.send("TerimaKasihkarenatelahberkomunikasidenganServerku.py")

conn.close()

Namafile:clientku.py

importsocket

s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

host="192.168.0.1"

port=12345

s.connect((host,port))

prints.recv(1024)

s.send("HaiServerku.py,Clientku.pyinginberkomunikasi")

s.close()

Outputdarikodeprogramdiatasadalah:

Gambar6.1OutputServerku.py

Gambar6.2OutputClientku.py

Metodekonektivitasclientserverdiatashanyauntukmenanganisatupermintaanyangdikirimolehclient.Apabilamenginginkanserversocketmenanganilebihdarisatuservice,makatinggaltambahkanloopingsetelahstatementlisten.

Berikutinikodeprogramlengkapnya:

Namafile:serverku2.py

HandoutKeamananKomputer

26Bab6-PengenalanPython

Page 27: Modul Keamanan Komputer Triawan

importsocket

host="0.0.0.0"

port=12345

s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

s.bind((host,port))

s.listen(2)

whileTrue:

conn,addr=s.accept()

printaddr,"NowConnected"

conn.send("Thankyouforconnecting")

conn.close()

Outputdariprogramdiatasadalahsebagaiberikut:

Gambar6.3Outputserverku2.pydanclientku.pyketikadijalankan

Kodeprogramclientserversederhanasudahselesai.Berikutiniterdapatkodeprogramterakhiruntukmengetahuisecaradetailalamatipdanportbesertatipenya.

Namafile:detailsocket.py

HandoutKeamananKomputer

27Bab6-PengenalanPython

Page 28: Modul Keamanan Komputer Triawan

importsocket

defget_protnumber(prefix):

returndict((getattr(socket,a),a)

foraindir(socket)

ifa.startswith(prefix))

proto_fam=get_protnumber('AF_')

types=get_protnumber('SOCK_')

protocols=get_protnumber('IPPROTO_')

forresinsocket.getaddrinfo('www.unmuhjember.ac.id','http'):

family,socktype,proto,canonname,sockaddr=res

print'Family:',proto_fam[family]

print'Type:',types[socktype]

print'Protocol:',protocols[proto]

print'Canonicalname:',canonname

print'Socketaddress:',sockaddr

OutputProgramtersebutadalah:

Gambar6.4DetailSocket

TugasPraktikumCobalahkodeprogramdiatas,kemudianlakukanpercobaandenganalamatIPyangberbedadanberikanketerangansertapenjelasanmaksuddarikodeprogramtersebut.

HandoutKeamananKomputer

28Bab6-PengenalanPython

Page 29: Modul Keamanan Komputer Triawan

SniffingMenggunakanPythonSniffingmerupakanprosesuntukmelakukanmonitoringdanmeng"capture"semuapaketdatayangmelewatijaringanmenggunakansoftware/aplikasimaupunperangkatkeras(hardware).Umumnyasniffingdilakukanolehseorangnetworkadministratoruntukmengamatipenggunaanjaringan,namunkenyataannyasaatinibegitubanyakaplikasiyangmudahdiperoleh,makabanyakjugapenggunayangmelakukanisengterhadappenggunaanjaringan.

Metodedalammelakukansniffingterdiridariduamacam,yaitu:

AktifSniffingAktifsniffingmerupakantindakanyangdilakukanpadajaringanberbasisswitch.Switchtentunyalebihpintardaripadahub,secarafungsinya.Seranganinidilakukandengancaramengirimkanpacketkekomputertargetsetelahmemeriksatablemacaddress.TeknikaktifsniffingumumnyamenggunakancaraARPSpoofing.

PasifSniffingPasifsniffingmerupakantindakansniffingyangdilakukandenganmelakukanmonitoringpaketdarijaringanyangberbasishub.Denganmenempatkansoftwarepacketsnifferpadajaringanmenggunakanmetodepromiscuous,seorangattackerdapatmelakukancapturepaketdatadalamsubnetjaringantersebut.

ImplementasiNetworkSnifferMenggunakanPythonPadapython,untukmelakukannetworksniffingdapatmenggunakanmodulstruct.Beberapamethodyangterdapatpadamodulstructdiantaranya:

struct.pack(fmt,v1,v2,...):Methodiniakanmengembalikanstringyangmengandungnilaiv1,v2danlain-lain,sedangkanpaketyangditerimaakanmengacupadaformatyangdiberikan.struct.unpack(fmt,string):Methodiniakanmembongkarisistringsesuaidenganformatyangdiberikan.

Contohpenggunaankodeprogramnya:

Namafile:struct1.py

HandoutKeamananKomputer

29Bab7-SniffingMenggunakanPython

Page 30: Modul Keamanan Komputer Triawan

importstruct

arsip=struct.pack('hhl',1,2,3)

print(arsip)

k=struct.unpack('hhl',arsip)

printk

Outputprogramtersebut:

Gambar7.1ContohPenggunaanModulStruct

Kodeprogramtersebutmenggunakanmethodpackdanunpack,sehinggakalaudiimplementasikanpadakonseppemrogramansocket,hasilnyaadalahsebagaiberikut:

Namafile:structt.pysebagaiserver

importsocket

importstruct

host="0.0.0.0"

port=12347

s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

s.bind((host,port))

s.listen(1)

conn,addr=s.accept()

print"Menerimakoneksidariip:",addr

arsip=struct.pack('hhl',1,2,3)

conn.send(arsip)

conn.close()

Namafile:unstructt.pysebagaiclient

HandoutKeamananKomputer

30Bab7-SniffingMenggunakanPython

Page 31: Modul Keamanan Komputer Triawan

importsocket

importstruct

s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

host="0.0.0.0"

port=12347

s.connect((host,port))

msg=s.recv(1024)

printmsg

printstruct.unpack('hhl',msg)

s.close()

Outputkodeprogramapabilakeduafiletersebutdijalankan:

Gambar7.2ImplementasiStructpadamethodpackdanunpack

NetworkSnifferPadaPythonUntukmengimplementasikansniffingpadapython,pertama-tamamasuklahkemodepromiscuouspadainterfacecardyangakandigunakan.Padacontohkaliini,sayamenggunakansistemoperasikalilinuxuntukmelakukansniffingmenggunakanpython.

Untukmelakukansettinginterfacecardagarmenjadimodepromiscuousmodeadalahsebagaiberikut:

HandoutKeamananKomputer

31Bab7-SniffingMenggunakanPython

Page 32: Modul Keamanan Komputer Triawan

Gambar7.3ModePromiscuousPadaSistemOperasiKaliLinux

Perintahnyaadalah:

HandoutKeamananKomputer

32Bab7-SniffingMenggunakanPython

Page 33: Modul Keamanan Komputer Triawan

root@kali:~#ifconfig

eth0Linkencap:EthernetHWaddr08:00:27:bf:ed:99

inet6addr:fe80::a00:27ff:febf:ed99/64Scope:Link

UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1

RXpackets:0errors:0dropped:0overruns:0frame:0

TXpackets:34errors:0dropped:0overruns:0carrier:0

collisions:0txqueuelen:1000

RXbytes:0(0.0B)TXbytes:6358(6.2KiB)

loLinkencap:LocalLoopback

inetaddr:127.0.0.1Mask:255.0.0.0

inet6addr:::1/128Scope:Host

UPLOOPBACKRUNNINGMTU:65536Metric:1

RXpackets:20errors:0dropped:0overruns:0frame:0

TXpackets:20errors:0dropped:0overruns:0carrier:0

collisions:0txqueuelen:0

RXbytes:1200(1.1KiB)TXbytes:1200(1.1KiB)

root@kali:~#ifconfigeth0promisc

root@kali:~#ifconfig

eth0Linkencap:EthernetHWaddr08:00:27:bf:ed:99

inet6addr:fe80::a00:27ff:febf:ed99/64Scope:Link

UPBROADCASTRUNNINGPROMISCMULTICASTMTU:1500Metric:1

RXpackets:0errors:0dropped:0overruns:0frame:0

TXpackets:34errors:0dropped:0overruns:0carrier:0

collisions:0txqueuelen:1000

RXbytes:0(0.0B)TXbytes:6358(6.2KiB)

loLinkencap:LocalLoopback

inetaddr:127.0.0.1Mask:255.0.0.0

inet6addr:::1/128Scope:Host

UPLOOPBACKRUNNINGMTU:65536Metric:1

RXpackets:20errors:0dropped:0overruns:0frame:0

TXpackets:20errors:0dropped:0overruns:0carrier:0

collisions:0txqueuelen:0

RXbytes:1200(1.1KiB)TXbytes:1200(1.1KiB)

root@kali:~#

SetelahmuncultulisanUPBROADCASTRUNNINGPROMISCMULTICASTmakaeth0siapdigunakanuntukmelakukansniffingterhadapkomputer.

Berikutiniterdapatkodeprogramsederhanauntukmelakukansniffing:

NamaFile:sniff.py

HandoutKeamananKomputer

33Bab7-SniffingMenggunakanPython

Page 34: Modul Keamanan Komputer Triawan

importsocket

importstruct

importbinascii

#pakesocket.PF_PACKETapabilamenggunakanlinux

s=socket.socket(socket.AF_INET,socket.SOCK_RAW,socket.ntohs(0x0800))

whileTrue:

pkt=s.recvfrom(2048)

ethhead=pkt[0][0:14]

eth=struct.unpack("!6s6s2s",ethhead)

print"--------EthernetFrame--------"

print"desinationmac",binascii.hexlify(eth[0])

print"Sourcemac",binascii.hexlify(eth[1])

binascii.hexlify(eth[2])

ipheader=pkt[0][14:34]

ip_hdr=struct.unpack("!12s4s4s",ipheader)

print"-----------IP------------------"

print"SourceIP",socket.inet_ntoa(ip_hdr[1])

print"DestinationIP",socket.inet_ntoa(ip_hdr[2])

print"---------TCP----------"

tcpheader=pkt[0][34:54]

tcp_hdr=struct.unpack("!HH9ss6s",tcpheader)

print"SourcePort",tcp_hdr[0]

print"Destinationport",tcp_hdr[1]

print"Flag",binascii.hexlify(tcp_hdr[3])

Outputprogramtersebutketikadijalankanmenggunakankalilinux:

HandoutKeamananKomputer

34Bab7-SniffingMenggunakanPython

Page 35: Modul Keamanan Komputer Triawan

Gambar7.4Outputsniff.py

Padagambar4.7,terlihatbahwapercobaandalammelakukansniffingmasihgagalkarenaalamatmacaddressbaiksumberdantujuanbelumdapatterbacamenggunakanbeberapamoduldipython.Inimurnikarenaprogrammerbelummahirmenguasaikonsepnetworkingdipython.

TugasPraktikumBerdasarkankodeprogramyangsudahdituliskan,silakanberikanketerangandanpenjelasan,maksuddarikodeprogramtersebut.Berikantampilanoutput!Tampilanharusberbedadenganmilikteman-temannya.

HandoutKeamananKomputer

35Bab7-SniffingMenggunakanPython

Page 36: Modul Keamanan Komputer Triawan

PengenalanAnalisaMalwareSeranganterhadapkeamanankomputermaupunsisteminformasiyangsedangpopulersaatiniyaitumelaluikodeprogramyangdinamakanMalware.Malwaremerupakansuatuperangkatlunakatausuatukodeprogramyangbertujuanuntukmasukkedalamsistemataujaringankomputeragardapatmengaksesdata-datapribadimiliktarget/korban.Padasaatini,sudahtersediaberbagaimacamsoftwareyangdapatdigunakanuntukmelindungikomputer/jaringankomputerdariseranganmalware,diantaranya:antivirus,firewall,ids,internetprotectiondanlain-lain.Namunkecanggihandarisoftwaretersebut,umumnyadapatdilewatimenggunakanteknik-tekniktertentusehinggasoftwaretersebuttidakdapatmendeteksiadanyaaktivitasmaliciousprogramyangsedangberjalan.

Adaduametodeuntukmelakukananalisaterhadapmalware,yaitu:

1. DynamicAnalysis:Merupakanmetodeyangdigunakanuntukmelakukananalisaterhadapmalwaredenganmengamatikinerjasistemyangdapatterlihatdariperilakusistemsebelummalwaredijalankandenganperilakusistemsetelahmalwaretersebutdijalankanpadasistemtersebut.MetodedynamicanalysisumumnyamenggunakansoftwarevirtualsepertiVirtualBox,VMWaredanlain-lain,sehinggaapabilamalwareyangdijalankantersebutternyatamerusaksistem,makasistemutamatidakmengalamikerusakanakibatmalwaretersebut.

2. StaticAnalysis:Merupakanmetodeyangdigunakanuntukmelakukananalisamalwaredengancaramengamatisecaralangsungkodesumber(sourcecode)malwaretersebut.Dalammengamatikodesumbermalware,terdapatteknikyangumumnyadigunakan,yaituReverseEngineering.

KlasifikasiMalwareBerikutiniterdapatbeberapacontohklasifikasimalware:

1. Virus:MerupakanMalwareyangdapatmelakukanreplikasidirinyasendiri.Umumnyadisebabkankarenainfeksifilepadakomputerakibatdaripenggunamelakukaneksekusifile"virus"padakomputer.

2. Worm:Merupakanmalwareyangdapatmelakukanpenyebarandarisatukomputerkekomputeryanglain.

3. Trojan:Aplikasiyangbersifatmalicious,yangdapatmenyebardengansendirinya.Trojanumumnyamelakukanpemalsuanterhadapprogramyangsah,namunkenyataannyamelakukanaktivitasberbahayadanterlarangpadakomputeryang

HandoutKeamananKomputer

36Bab8-PengenalanAnalisaMalware

Page 37: Modul Keamanan Komputer Triawan

terkena.4. Backdoor:Merupakanbagiandariperangkatlunakyangberjalanpadasistem,dan

dapatmembukajalurkomunikasidenganpihakluar,sehinggapenyerangyangmempunyaiaksesdenganbackdoortidakperlumelakukanautentikasiyangditerapkanolehsistem.

5. Bot:Merupakanprogramjahatyangumumnyabertujuanuntukmelakukanperintahotomatismelaluiaksesyangtidaksahdandikendalikandarikomputeryangterkenabottersebut.

6. RemoteAdministrationTool(RAT):Perangkatlunakyangmemungkinkanmelakukanaksesjarakjauhkekomputersehinggakomputer/sistemtersebutdapatdikendalikanseolah-olahsipenyerangmempunyaiaksesfisikkesistem/komputertersebut.

7. Downloader:Sejenistrojanyangdapatmendownloadfilelainnya,yangbiasanyaterdeteksisebagaimalwarelainnya.Downloadermembutuhkankoneksikeremotehostuntukmendownloadfilelainnyatersebut.

8. Dropper:Suatutrojanyangdapatmenghapusfilelain.9. Spyware:Suatuperangkatlunakyangdapatmengumpulkaninformasidandibagikan

kepadapihakketigatanpamelaluiizinkepemilikdata10. Adware:Perangkatlunakyangbertujuanuntukmenyebarkaniklan.Umumnyaini

terdapatpadasoftwaretertentusehingganantinyaketikamembukasoftwarelainnyaakanmenyarankanhalamansesuaidenganiklanyangada.

11. Ransomware:Jenismalwareyangmengenkripsifilepadakomputerkorban,kemudiansipenyerangharusmembayarkansejumlahuang/sesuatuuntukmembukafileyangdienkripsitersebut.

TeknikAnalisaMalwaredenganDynamicAnalysisSebelummelakukananalisadenganteknikdynamicanalysis,rekan-rekanmahasiswacobalahuntukmelakukansettingterhadapOSVirtualsebagaianalysislabvirtual,sehinggafilemalwareyangnantinyadijalankan,tidakakanmempengaruhikinerjasistemoperasiyangsesungguhnya.

Langkah-langkahdansettingsistemoperasiyangberjalanpadavirtualbox:

PastikanandasudahmelakukaninstalasivirtualboxdenganbenarPastikanandasudahmelakukaninstalasisistemoperasiwindowsxpdivirtualboxdenganbenar.AndaharusmelakukaninstalasiduasistemoperasiwindowsXP,satuosuntukcommandandcontrolserver,satuoslagiuntukdijadikanclient/korbanSistemoperasiwindowstidakharusmenggunakanvirtualsemuanya,cukupclient/

HandoutKeamananKomputer

37Bab8-PengenalanAnalisaMalware

Page 38: Modul Keamanan Komputer Triawan

korbansajayangdisettingvirtualDownloadcontohsamplemalwaredisini,tapijangandijalankanataujangandiklik,apabilasudahselesaididownloadPasswordfiledownloadtersebutadalah"infected"BukamalwareyangbernamaPoisonIvySnapshotvirtualboxAnda,sehinggaapabilavirtualboxmengalamikerusakanmakadapatdilakukanrestore.Untukmelakukansnapshot,jalankanosvirtual,kemudianklikmachine->takesnapshot(biarkansajasampaiprosessnapshotselesai)

EksplorasiRATMalwarePoisonIvyRemoteAdministrationTooldisinidigunakanuntukmelakukanperintahdanpengendalianterhadapmesindarijarakjauhmenggunakanpoisonivy.PoisonivymerupakanRATmalwareyangdapatmelakukankendali100%terhadapsistemkorban.

PanduansettingeksplorasiRATPoisonIvyadalahsebagaiberikut:

PastikanAndasudahmempunyaisistemoperasiwindowsyangakandijadikanC&C(CommandAndControl)ServerPastikanAndasudahmempunyaisistemoperasiwindowsyangakandijadikanclient/korbanMasing-masingsistemoperasi,silakantulisalamatipnya,jangankeliruyaantaraipserverdenganipkorbanBukafilePoisonIvytadidisistemoperasiyangdijadikansebagaiserverApabilatidakbisadibukakarenamunculerror"hasstoppedworking",mungkinhaltersebutdisebabkankarenaWindowsDataExecutionPreventionmelakukanblokir.SehinggamatikandulusettingDEPdengancaramasukkeControlPanel->SystemAndMaintenance->System->AdvanceSystemSettings.Ubahlahsesuaidengangambardibawahini:

HandoutKeamananKomputer

38Bab8-PengenalanAnalisaMalware

Page 39: Modul Keamanan Komputer Triawan

Gambar8.1MatikanSettingDEP

RestartWindowsPanduanMembuatTrojanDenganPoisonIvy

1. BukalahPoisonIvy,kemudianklikFile->NewServer2. Akanmunculjendelapopupsepertiberikutini:

HandoutKeamananKomputer

39Bab8-PengenalanAnalisaMalware

Page 40: Modul Keamanan Komputer Triawan

Gambar8.2ProfilPoisonIvy

Andaisimenuprofilnyasesuaidengannamamahasiswa,kemudianklikOK

3. PadamenuConnection,ubahlahalamatpadakolomDNS/Portdariyangsemula127.0.0.1menjadialamatipsesuaidengankomputerAnda.Tampilannyaadalahsebagaiberikut:

HandoutKeamananKomputer

40Bab8-PengenalanAnalisaMalware

Page 41: Modul Keamanan Komputer Triawan

Gambar8.3MenuConnection

4. Kegunaannyaadalahuntukbertindaksebagaiserverkontroldankendalisehinggadapatbertindaklayaknyarobotyangsetiapsaatdapatdieksekusi.Fileininantinyaakanberbentuktrojanyangdapatmelakukaninjeksiterhadapsistem.

5. Apabilamenuconnectionsudahselesai,klikOK,kemudiantekantombolnextdipojokkananbawah.

6. Masukmenuinstall.Menuinidigunakanuntukmembuattrojan.Lewatisajadenganmenekantombolnext.

7. Masukmenuadvanced.Padamenuini,biarkansepertisettingandefaultaliastidakusahdiubah-ubah.Pastikanbahwaitemkeyloggersudahtercentang.Tampilannyaadalahsebagaiberikut:

HandoutKeamananKomputer

41Bab8-PengenalanAnalisaMalware

Page 42: Modul Keamanan Komputer Triawan

Gambar8.4MenuAdvance

8. KlikOKdanKlikNext,kemudianmasukkemenubuild.9. Padamenubuild,silakanklikGenerate10. Lalukeluarpopupsaveas,simpanlahtrojantersebutdengannama"namaAnda.exe"

kalausudahklikOK11. Apabilatrojansudahberhasildibuat,agardapattersimpansilakannonaktifkandulu

firewalldanantivirusyangterdapatpadawindows.12. Pastikantrojanyangbarusajadibuat,tidakdijalankanataudidoubleklik.MesinServerKontroldanKendali

Apabilapembuatantrojansudahberhasil,sekaranghidupkansoftwarepoisonivypadasistemoperasiwindowsyangdigunakansebagaiserver.

1. BukaPoisonIvy,KlikFile->NewClient2. Akanuncultampilandanketeranganuntukmengubahportdantambahkanpassword,

biarkansajasesuaisettingandefault,KlikStart.3. LaluakanmunculketeranganPoisonIvyListeningonPort3460sepertigambar8.5

berikutini:

HandoutKeamananKomputer

42Bab8-PengenalanAnalisaMalware

Page 43: Modul Keamanan Komputer Triawan

Gambar8.5TampilanPoisonIvyUntukMelihatClient

4. TunggusajasampaikorbanmenjalankantrojanyangtadisudahdibuatInfeksiSistemTarget

Sebelummelakukaninfeksiterhadapmesinkorban(mesinvirtual)pastikanantarasistemvirtualdengansistemoperasiutamasudahterhubung.

1. BukaSistemoperasidivirtual,kemudianlakukanpingpadasistemoperasiutama.Pastikansudahterhubung,apabilabelummakalakukansettingdenganbenar(settingNAT)

2. Pindahkanfiletrojandarisistemoperasiutamakesistemoperasivirtual3. Apabilasudahberhasildipindahkan/dicopykevirtual,jalankanfiletrojantersebutMelihatAktivitasTrojan

Apabilakorbansudahmenjalankantrojantersebut,makabukalahsoftwarepoisonivyuntukmengetahuimesinmilikkorban.Adapuntampilannyaadalahsebagaiberikut:

HandoutKeamananKomputer

43Bab8-PengenalanAnalisaMalware

Page 44: Modul Keamanan Komputer Triawan

Gambar8.6TampilanAktifitasSistemMilikKorban

EksploitasiMesinTarget

Apabilatampilanpadagambar8.6sudahmuncul,makaandadapatmelakukaneksploitasisistemmilikkorbandenganmelakukandoubleklikpadanamamesinkorban"YOURNAME".Apabilasudahdijalankanmakaakanmunculgambarsepertiberikut:

Gambar8.7TampilanProsespadaMesinKorban

Kemudiandapatmelihatpasswordhasheswindowsmilikkorban,sepertigambarberikutini:

HandoutKeamananKomputer

44Bab8-PengenalanAnalisaMalware

Page 45: Modul Keamanan Komputer Triawan

Gambar8.8WindowsHashesPassword

Kemudiandapatmelihattampilansistemkorban,sepertigambarberikutini:

Gambar8.9DesktopMilikKorban

Menarikbukan?Nah,apayangdisajikanpadapraktikuminimasihsangatsedikitsekali,selanjutnyasilakanlakukaneksplorasisendiriterkaitdenganaktivitaslainyangdapatdilakukanolehRATPoisonIvyini.

HandoutKeamananKomputer

45Bab8-PengenalanAnalisaMalware

Page 46: Modul Keamanan Komputer Triawan

TugasPraktikum1. BuatlahsettingOSWindowsuntukhostutamadenganOSWindowsuntukVirtual

sesuaipenjelasanmodul,kemudiandokumentasikanhasilsettingannyabesertatambahkanscreenshotoutputdanberikanpenjelasannselengkapmungkin.

2. CobalahmembuattrojandengannamaAndasendirimengacupadapenjelasandimodul,kemudianujidengansistemoperasiyangsudahAndasetting,kemudiandokumentasikandanberikanketerangandanscreenshotnya.

HandoutKeamananKomputer

46Bab8-PengenalanAnalisaMalware