<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://sqlblog.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Argenis Fernandez : Lost Passwords</title><link>http://sqlblog.com/blogs/argenis_fernandez/archive/tags/Lost+Passwords/default.aspx</link><description>Tags: Lost Passwords</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>Tale of an Encrypted SSIS Package in msdb and a Lost Password</title><link>http://sqlblog.com/blogs/argenis_fernandez/archive/2011/11/09/tale-of-an-encrypted-ssis-package-in-msdb-and-a-lost-password.aspx</link><pubDate>Thu, 10 Nov 2011 05:17:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:39735</guid><dc:creator>Argenis</dc:creator><slash:comments>10</slash:comments><comments>http://sqlblog.com/blogs/argenis_fernandez/comments/39735.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/argenis_fernandez/commentrss.aspx?PostID=39735</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;Yesterday a Developer at work asked for a copy of an SSIS package in Production so he could work on it (please, dear Reader – withhold judgment on Source Control – I know!). I logged on to the SSIS instance, and when I went to export the package…&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/argenis_fernandez/LePackage_Password_5D19827F.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="LePackage_Password" border="0" alt="LePackage_Password" width="621" height="436" src="http://sqlblog.com/blogs/argenis_fernandez/LePackage_Password_thumb_5521E01D.png"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Oops. I didn’t have that password. The DBA who uploaded the package to Production is long gone; my fellow DBA had no idea either - and the Devs returned a cricket sound when queried. &lt;/p&gt;  &lt;p&gt;So I posed the obligatory question on #SQLHelp and a bunch of folks jumped in – some to help and some to make fun of me (thanks, @SQLSoldier @crummel4 @maryarcia and @sqljoe). I tried their suggestions to no avail…even ran some queries to see if I could figure out how to extract the package XML from the system tables in msdb:&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div id="codeSnippetWrapper"&gt;     &lt;div style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;background-color:#f4f4f4;border-left-style:none;padding-left:0px;width:100%;padding-right:0px;font-family:'Courier New', courier, monospace;direction:ltr;border-top-style:none;color:black;border-right-style:none;font-size:8pt;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;       &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;background-color:white;margin:0em;border-left-style:none;padding-left:0px;width:100%;padding-right:0px;font-family:'Courier New', courier, monospace;direction:ltr;border-top-style:none;color:black;border-right-style:none;font-size:8pt;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#0000ff;"&gt;SELECT&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;CAST&lt;/span&gt;(&lt;span style="color:#0000ff;"&gt;CAST&lt;/span&gt;(p.packagedata &lt;span style="color:#0000ff;"&gt;AS&lt;/span&gt; varbinary(&lt;span style="color:#0000ff;"&gt;max&lt;/span&gt;)) &lt;span style="color:#0000ff;"&gt;AS&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;varchar&lt;/span&gt;(&lt;span style="color:#0000ff;"&gt;max&lt;/span&gt;))&lt;/pre&gt;


      &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;background-color:#f4f4f4;margin:0em;border-left-style:none;padding-left:0px;width:100%;padding-right:0px;font-family:'Courier New', courier, monospace;direction:ltr;border-top-style:none;color:black;border-right-style:none;font-size:8pt;overflow:visible;padding-top:0px;"&gt;    &lt;span style="color:#0000ff;"&gt;FROM&lt;/span&gt; msdb.dbo.sysssispackages p&lt;/pre&gt;


      &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;background-color:white;margin:0em;border-left-style:none;padding-left:0px;width:100%;padding-right:0px;font-family:'Courier New', courier, monospace;direction:ltr;border-top-style:none;color:black;border-right-style:none;font-size:8pt;overflow:visible;padding-top:0px;"&gt;    &lt;span style="color:#0000ff;"&gt;WHERE&lt;/span&gt; p.name = &lt;span style="color:#006080;"&gt;'LePackage'&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;

  &lt;div&gt;&amp;nbsp;&lt;/div&gt;
This just returned a bunch of XML with encrypted data on it:&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://sqlblog.com/blogs/argenis_fernandez/EncryptedXML_147F93AE.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="EncryptedXML" border="0" alt="EncryptedXML" width="969" height="88" src="http://sqlblog.com/blogs/argenis_fernandez/EncryptedXML_thumb_4200B371.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I knew there was a job in SQL Agent scheduled to execute the package, and when I tried to look at details on the job step I got the following:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://sqlblog.com/blogs/argenis_fernandez/RunLePackage_2CA2FE09.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="RunLePackage" border="0" alt="RunLePackage" width="1026" height="694" src="http://sqlblog.com/blogs/argenis_fernandez/RunLePackage_thumb_27541758.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Not very helpful. &lt;/p&gt;

&lt;p&gt;The password had to be saved somewhere, but where??&lt;/p&gt;

&lt;p&gt;All of a sudden I remembered that there was a system table I hadn’t queried yet:&lt;/p&gt;

&lt;div id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;background-color:#f4f4f4;border-left-style:none;padding-left:0px;width:100%;padding-right:0px;font-family:'Courier New', courier, monospace;direction:ltr;border-top-style:none;color:black;border-right-style:none;font-size:8pt;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;background-color:white;margin:0em;border-left-style:none;padding-left:0px;width:100%;padding-right:0px;font-family:'Courier New', courier, monospace;direction:ltr;border-top-style:none;color:black;border-right-style:none;font-size:8pt;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#0000ff;"&gt;SELECT&lt;/span&gt; sjs.command&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;background-color:#f4f4f4;margin:0em;border-left-style:none;padding-left:0px;width:100%;padding-right:0px;font-family:'Courier New', courier, monospace;direction:ltr;border-top-style:none;color:black;border-right-style:none;font-size:8pt;overflow:visible;padding-top:0px;"&gt;    &lt;span style="color:#0000ff;"&gt;FROM&lt;/span&gt; msdb.dbo.sysjobs sj&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;background-color:white;margin:0em;border-left-style:none;padding-left:0px;width:100%;padding-right:0px;font-family:'Courier New', courier, monospace;direction:ltr;border-top-style:none;color:black;border-right-style:none;font-size:8pt;overflow:visible;padding-top:0px;"&gt;    &lt;span style="color:#0000ff;"&gt;JOIN&lt;/span&gt; msdb.dbo.sysjobsteps sjs &lt;span style="color:#0000ff;"&gt;ON&lt;/span&gt; sj.job_id = sjs.job_id&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;background-color:#f4f4f4;margin:0em;border-left-style:none;padding-left:0px;width:100%;padding-right:0px;font-family:'Courier New', courier, monospace;direction:ltr;border-top-style:none;color:black;border-right-style:none;font-size:8pt;overflow:visible;padding-top:0px;"&gt;    &lt;span style="color:#0000ff;"&gt;WHERE&lt;/span&gt; sj.name = &lt;span style="color:#006080;"&gt;'Run LePackage'&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;The result:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://sqlblog.com/blogs/argenis_fernandez/ResultsLePackage_260F7E79.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="ResultsLePackage" border="0" alt="ResultsLePackage" width="755" height="89" src="http://sqlblog.com/blogs/argenis_fernandez/ResultsLePackage_thumb_3E9F1BC9.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;“Well, that’s really secure”, I thought to myself.&lt;/p&gt;

&lt;p&gt;Cheers,&lt;/p&gt;

&lt;p&gt;-Argenis&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=39735" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/argenis_fernandez/archive/tags/Lost+Passwords/default.aspx">Lost Passwords</category><category domain="http://sqlblog.com/blogs/argenis_fernandez/archive/tags/msdb/default.aspx">msdb</category><category domain="http://sqlblog.com/blogs/argenis_fernandez/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://sqlblog.com/blogs/argenis_fernandez/archive/tags/SSIS/default.aspx">SSIS</category></item></channel></rss>